52
Carlos Alexandre Mello – [email protected] 1 Processamento de Imagens com MATLAB Carlos Alexandre Mello

Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – [email protected] 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 1

Processamento de Imagens

com MATLAB

Carlos Alexandre Mello

Page 2: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 2

Processamento de Imagens

com MatLab

Toolboxes

– Image Processing

– Diretório:

toolbox/images/images

Page 3: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 3

Processamento de Imagens

com MatLab

Comando imshow():

– Visualização de imagens

– Uso:

imshow(nome_do_arquivo)

– Exemplo:

imshow(‘eight.tif’)

Page 4: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 4

Processamento de Imagens

com MatLab

E/S de arquivos de imagem

– imread

Lê um arquivo de imagem

Uso:

– A = imread(filename)

Exemplo:

– A = imread(‘eight.tif’)

Page 5: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 5

Processamento de Imagens

com MatLab

E/S de arquivos de imagem

– Leitura de Imagem BMP

[A, MAP] = imread (‘nome.bmp’)

– Para imagens coloridas:

A = imread (‘nome.bmp’);

– Gera uma matriz mxnx3 (onde 3 é a quantidade de planos)

R = A(:, :, 1); % Matriz de tons vermelhos

G = A(:, :, 2); % Matriz de tons verdes

B = A(:, :, 3); % Matriz de tons azuis

Page 6: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 6

Processamento de Imagens

com MatLab

E/S de arquivos de imagem

– imwrite

Escreve uma imagem para um arquivo gráfico

Uso:

– imwrite(A, filename, FMT)

FMT = formato

Exemplo:

– imwrite(A, ‘eight’, ‘tif’)

Page 7: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 7

Processamento de Imagens

com MatLab

Visualização

– image

Mostra uma matriz C como uma imagem

Uso:

– image(C)

Exemplo:

– >> A= imread(‘eight’, ‘tif’);

– >> image(A)

Se não especificada, é usada a paleta de cores default

Page 8: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 8

Processamento de Imagens

com MatLab

Visualização

– imzoom

Zoom in ou out em uma imagem

Uso:

– imzoom(fator)

Exemplo:

– >> imshow(‘eight.tif’)

– >> imzoom(2)

Page 9: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 9

Processamento de Imagens

com MatLab

Conversão entre Tipos – dither

Dithering de uma imagem pelo método de Floyd-Steinberg

Uso: – X = dither(RGB, MAP)

RGB = Imagem original

MAP = Paleta de cores final

Exemplo: [A,MAP] = tiffread(‘flowers.tif’);

X = dither(A);

imshow(X);

Page 10: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 10

Processamento de Imagens

com MatLab

Conversão entre Tipos – im2bw

Converte uma imagem para preto-e-branco

Uso: – BW = im2bw(X, MAP, level)

X = Imagem original

MAP = Paleta de cores da imagem original

level = Valor de corte (threshold): 0 level 1

Exemplo: [A,MAP] = tiffread(‘eight.tif’);

bw = im2bw(A,MAP,0.4);

imshow(bw);

Page 11: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 11

Processamento de Imagens

com MatLab

Conversão entre Tipos

– rgb2gray

Converte uma imagem RGB para uma imagem em tons de cinza

Uso:

– I = rgb2gray(RGB)

RGB = imagem original true color

Exemplo:

A = imread(‘flowers.tif’);

I = rgb2gray(A);

imshow(I);

Page 12: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 12

Processamento de Imagens

com MatLab

Conversão entre Tipos

– rgb2ind

Converte uma imagem RGB para uma imagem em indexada

Uso:

– [X, NEWMAP] = rgb2ind(RGB)

NEWMAP = paleta de cores final

Page 13: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 13

Processamento de Imagens

com MatLab

Tipos de Imagens

– isbw

Verdadeiro para imagens B&W

– isgray

Verdadeiro para imagens em tons de cinza

– isind

Verdadeiro para imagens indexadas

Page 14: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 14

Processamento de Imagens

com MatLab

Operações Geométricas

– imresize

Altera o tamanho de uma imagem

Uso:

– B = imresize(A, M, ‘method’)

– Retorna uma matriz que é M vezes maior (ou menor) que a imagem A

– ‘method’ =

nearest = vizinho mais próximo

bilinear = interpolação bilinear

bicubic = interpolação bicúbica

Page 15: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 15

Processamento de Imagens

com MatLab

Operações Geométricas

– imresize

Exemplo:

– >> A = imread(‘eight’, ‘tif’);

– >> B = imresize (A, 0.5, ‘nearest’);

– >> imshow(B)

Page 16: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 16

Processamento de Imagens

com MatLab

Operações Geométricas

– imrotate

Rotaciona uma imagem

Uso:

– B = imrotate(A, Ângulo, ‘method’);

– Method = nearest, bilinear ou bicubic

Exemplo:

– >> A = imread (‘eight’, ‘tif’);

– >> B = imrotate (A, 45, ‘nearest’);

– >> imshow(B)

Page 17: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 17

Processamento de Imagens

com MatLab

Valores de Pixels e Estatísticas

– imhist

Histograma de uma imagem

– Uso:

imhist(A): histograma de 256 cores

imhist(A, N): histograma de N cores

Page 18: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 18

Processamento de Imagens

com MatLab

Valores de Pixels e Estatísticas

– mean2

Média de uma matriz

– Uso:

mean2(A)

– std2

Desvio padrão bidimensional

– Uso:

std2(A)

Page 19: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 19

Processamento de Imagens

com MatLab

Realce de imagem – histeq

Equalização de Histograma

– imadjust Especificação de histograma (atribui o histograma de uma

imagem A a outra imagem B)

– imnoise Adiciona ruído a uma imagem

O ruído pode ser gaussiano, salt & pepper ou speckle

Exemplo: J = imnoise(A, ‘gaussian’);

Page 20: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 20

Processamento de Imagens

com MatLab

Filtragem

– filter2

Filtro digital 2D

Uso:

– filter2(B,X) - Filtra a imagem X usando o filtro FIR definido pela matriz B

Page 21: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 21

Processamento de Imagens

com MatLab

Filtragem

– filter2

Exemplo:

>> I=imread(‘rice.tif’);

>> imshow(I);

» h=[1 2 1; 0 0 0; -1 -2 -1];

» I2=filter2(h,I); % double

» imshow(I2);

» imshow(I2, []);

» imshow(uint8(I2));

Page 22: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 22

Processamento de Imagens

com MatLab

Filtragem

– imfilter

» h=[1 2 1; 0 0 0; -1 -2 -1];

» I2=imfilter(I, h); % uint8

» imshow(I2);

Page 23: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 23

Processamento de Imagens

com MatLab

Filtragem

– fspecial

Cria um filtro 2D de um tipo específico

– gaussian

– sobel

– prewitt

– laplacian

– log

– average

– unsharp

Page 24: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 24

Processamento de Imagens

com MatLab

Filtragem

– fspecial

Exemplo:

» h=fspecial(‘laplacian’);

» I2=imfilter(I, h);

» imshow(I2)

Page 25: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 25

Processamento de Imagens

com MatLab

Filtragem

– fspecial

Exemplo:

» h=fspecial(‘sobel’);

» I2=filter2(h,I));

» imshow(I2)

Page 26: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 26

Processamento de Imagens

com MatLab

Filtragem linear

– conv2

Convolução bidimensional

– convmtx2

Matriz de convolução bidimensional

– convn

Convolução n-dimensional

Page 27: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 27

Processamento de Imagens

com MatLab

Transformação de Imagens

– dct2

Transformada bidimensional discreta do cosseno

– B = dct2(A)

– fft2

FFT bidimensional

– B = fft2(A)

– fftn

FFT n-dimensional

– B = fftn(A)

Page 28: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 28

Processamento de Imagens

com MatLab

FFT2

– Exemplo:

» f=zeros(100,100);

» f(5:94,40:60)=1;

» imshow(f)

Page 29: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 29

Processamento de Imagens

com MatLab

FFT2

– Exemplo:

» F=fft2(f);

» F2=log(abs(F));

» imshow(F2,[-1 5]);

» colormap(jet);colorbar

Page 30: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 30

Processamento de Imagens

com MatLab

FFT2

– Exemplo:

» F=fft2(f,256,256);

» F2 = fftshift(F);

» imshow(log(abs(F2)),[-1 5]);

» colormap(jet); colorbar;

Page 31: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 31

Processamento de Imagens

com MatLab

Transformação de Imagens

– idct2

– ifft2

– ifftn

Transformadas inversas

Page 32: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 32

Análise de Imagem

– Edge:

Extração de bordas

Uso:

– BW = edge(A, ‘method’);

Exemplo:

– A = imread(‘rice’, ‘tif’);

– BW = edge (A, ‘sobel’);

– imshow(BW);

Processamento de Imagens

com MatLab

method =

sobel

roberts

prewitt

log

zerocross

Page 33: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 33

Operações com Imagens Binárias

– bwmorph

Aplica uma operação morfológica em imagens binárias

Uso:

– bw2 = bwmorph(bw1, operação)

– Operação = clean dilate erode .....

Processamento de Imagens

com MatLab

Page 34: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 34

Operações com Imagens Binárias

– imdilate

Dilata uma imagem binária

– Uso:

bw2 = imdilate(bw1, SE);

onde SE é uma matriz contendo apenas 0’s e 1’s

Processamento de Imagens

com MatLab

Page 35: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 35

Operações com Imagens Binárias

– imerode

Erosão de uma imagem binária

– Uso:

bw2 = imerode (bw1, SE)

SE é uma matriz de 0’s e 1’s

Processamento de Imagens

com MatLab

Page 36: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 36

Processamento de Imagens

com MatLab

Manipulação de Paleta de Cores

– brighten

Clareia ou escurece uma paleta de cores

Uso:

– brighten(BETA)

– Se 0 < BETA < 1: A paleta é clareada

– Se -1 BETA < 0: A paleta escurece

Page 37: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 37

Processamento de Imagens

com MatLab

Imagens carregadas no formato uint8

É preciso convertê-lo para outro formato para algumas operações

Operações com imagens

– Dadas duas imagens com as mesmas dimensões:

A = imread (‘imagem1’, ‘ext’);

B = imread (‘imagem2’, ‘ext’);

C = uint8(double(A) + double(B));

imshow (C);

Page 38: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 38

Transformada de Fourier

function img_fourier (nome, ext)

nome_in = [nome '.' ext];

im = imread(nome_in);

figure, imshow (im);

F = fft2(im);

figure;

F2 = fftshift(F);

imshow(log(abs(F2)), []);

colormap (jet);

nx = size(F, 2);

ny = size(F, 1);

cxrange = [0:nx/2, -nx/2+1:-1];

cyrange = [0:ny/2, -ny/2+1:-1];

[cx, cy] = meshgrid(cxrange, cyrange);

fxrange = cxrange * 2*pi/nx;

fyrange = cyrange * 2*pi/ny;

[fx, fy] = meshgrid(fxrange, fyrange);

sigma = 0.3; % Gaussiana

ms = exp(-(fx.^2 + fy.^2)/(2*sigma^2));

%figure; imshow(log(ms), []);

smoothF = F.* ms;

smooth = ifft2(smoothF);

figure, imshow(smooth, []);

ftd = F.*fx.*i; % Diferenciacao

ftd(:, nx/2+1) = 0;

d = ifft2(ftd);

figure, imshow(d, []);

Page 39: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 39

Transformada de Fourier

Page 40: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 40

Transformada de Fourier

Page 41: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 41

Transformada de Fourier

Page 42: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 42

Transformada de Fourier

Page 43: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 43

Transformada de Fourier

Page 44: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 44

Transformada de Fourier

Page 45: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 45

Transformada de Fourier

Page 46: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 46

Transformada de Fourier

Page 47: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 47

Transformada de Fourier

Inversa:

>> F = img_fourier ('lena','bmp'); >> c = find (real(F) < 0); >> F(c) = 0; >> im2 = ifft2(F); >> figure, imshow (uint8(im2))

Page 48: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 48

Transformada de Fourier

Imagem original

Page 49: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 49

Transformada de Fourier

Espectro

Page 50: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 50

Transformada de Fourier

Imagem reconstruída (inversa de Fourier)

Page 51: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 51

Transformada de Fourier

Imagem “filtrada” e reconstruída pelo código anterior

Page 52: Processamento de Imagens com MATLAB - UFPEcabm/pds/PDS_Aula09_MatLab.pdf · Carlos Alexandre Mello – cabm@cin.ufpe.br 2 Processamento de Imagens com MatLab Toolboxes – Image Processing

Carlos Alexandre Mello – [email protected] 52

Referências

Digital Image Processing, Gonzalez e Woods

Análise de Imagens Digitais, Pedrini

Handbook on Image Processing, Russ

Imagem “filtrada” e reconstruída pelo código anterior