460 likes | 650 Views
Capítulo IV. Realce no Domínio da Freqüência. “O homem que fala dois idiomas vale por dois” - Ditado Popular. Jean Baptiste Joseph Fourier. 1768 Auxerre, França 1807 1822 On the Propagation of Heat in Solid Bodies (Série de Fourier) 1830 Paris.
E N D
Capítulo IV Realce no Domínio da Freqüência “O homem que fala dois idiomas vale por dois” - Ditado Popular Realce no Domínio da Freqüência
Jean Baptiste Joseph Fourier • 1768 Auxerre, França 1807 1822 On the Propagation of Heat in Solid Bodies (Série de Fourier) 1830 Paris Realce no Domínio da Freqüência
Transformada de Fourier Contínua • A Transformada de Fourier de uma função contínua de uma variável f(x) em R é definida por : • Define-se a correspondente Transformada Inversa de Fourier como: • A Transformada de Fourier de uma função contínua de duas variáveis f(x,y) em R2é definida por : • Define-se a a correspondente Transformada Inversa de Fourier como: Realce no Domínio da Freqüência
Analogia entre Transformada de Fourier e um Prisma f(x) F(M-1) F(1) F(0) Transformada de Fourier Realce no Domínio da Freqüência
Transformada de Fourier Discreta (DFT) de Uma Variável • A DFTF(u) de uma função discreta de uma variável f(x), x=0, 1, 2, ... M-1 em R é dada pela equação : componente em freqüência domínio da freqüência • Define-se a correspondente DFT Inversa como: • O conceito de Domínio da Freqüência decorre da fórmula de Euler: • Substituindo na primeira equação obtém-se: Realce no Domínio da Freqüência
Transformada de Fourier em Uma Dimensão • f(x)será neste curso sempre uma função real. • F(u)é em geral uma função complexa. • Espectro de Potência de f(x) Válido para as transformadas Contínuas e Discretas Realce no Domínio da Freqüência
Transformada de Fourier Discreta (DFT) de Uma Variável |F(0)| Δu . . . f(x0+2Δx) f(1) f(2) f(0) f(x0+Δx) f(x0) |F(u)| |F(u)| f(x) AK/M AK/M Δx . . . |F(1)| f(M-1) |F(2)| f(x0+[M-1]Δx) M amostras M amostras M amostras 1 M ∆x ∆u = • para tornar independente da resolução faz-se f (k) = f(x0+ kΔx) • f(x) para x=0,1,2,..., M representam M amostras igualmente espaçadas da correspondente função contínua • x0é o primeiro ponto da seqüência e a primeira amostra é, portanto, f (x0) • a próxima amostra é tomada Δx unidades adiante, isto é, f (x0+ Δx) • a k-ésima amostra é, f (x0+ kΔx), e a última f (x0+ [M-1]Δx), • análogo para F(u), sendo que u0é necessariamente igual a 0 (zero) Realce no Domínio da Freqüência
Transformada de Fourier Discreta Bidimensional • As transformadas direta e inversa discreta em duas dimensões ficam: para u=0, 1, 2,...,M-1, v=0, 1, 2,...,N-1, e f(x,y)representa as amostras da função f(x0+xx,y0+yy), para. x=0, 1, 2,...,M-1, e y=0, 1, 2,...,N-1. Aplica-se o mesmo a F(u,v). Os incrementos nas amostras em ambos os domínios estão relacionados por: e Realce no Domínio da Freqüência
Transformada de Fourier Discreta Bidimensional • f(x,y)será neste curso sempre uma função real de dimensão 2, tipicamente uma imagem. • F(u,v)é em geral uma função complexa. • Espectro de Potência de f(x) Realce no Domínio da Freqüência
Exemplo de Senos e Cossenos em Duas Dimensões cos[2 (x,0)] sen[2 (0,y)] sen[2 (x,0)] cos[2(0,y)] cos[2 (3x,4y)] sen[2 (5x,2y)] cos[2 (3x,-5y)] sen[2 (-3x,6y)] As figuras abaixo estão normalizada de modo a se ajustarem ao intervalo [0:1] Realce no Domínio da Freqüência
Propriedade da Periodicidade e Simetria do Conjugado Exemplo: Realce no Domínio da Freqüência
Propriedade da Translação origem origem Transformada sem deslocamento Imagem Original e Exemplo: Transformada com origem no centro da matriz Realce no Domínio da Freqüência
Propriedade da Rotação • Introduzindo coordenadas polares f(x,y) e F(u,v) se tornam f(r,) e F(, ) Exemplo: Imagem original Espectro Imagem rotacionada Espectro resultante Realce no Domínio da Freqüência
Propriedades da Distributividade, Escala, Similaridade, Valor Médio depende da implementação • Distributividade: • Escala: • Similaridade: • Valor Médio: Realce no Domínio da Freqüência
Visualização da Transformada em 2D |F(u,v)| D(u,v) • A transformada de Fourier Discreta bidimensional é freqüentemente visualizada como uma função de intensidade. Para facilitar a visualização, ao invés de se apresentar |F(u,v)|, o que se apresenta é a função: onde c é uma constante arbitrária. Exemplo Realce no Domínio da Freqüência
Filtragem em Freqüência – relações espaço × freqüência imagem transformada • Características: • bordas a ±45º • duas incrustações de óxido imagem microscópica de um circuito integrado Realce no Domínio da Freqüência
Filtragem no Domínio da Freqüência - procedimento × domínio do espaço H(u,v) parte real (4) (1) (3) Transformada Inversa de Fourier Transformada de Fourier f(x,y) g(x,y) (2) F(u,v) G(u,v) domínio da freqüência Realce no Domínio da Freqüência
Filtros Básicos: “Notch” Realce no Domínio da Freqüência
Filtros Básicos: Passa-Baixas Filtros Passa-Baixas (FPB) “borram” a imagem Função de Transferência Imagem produzida por FPB Realce no Domínio da Freqüência
Filtros Básicos: Passa-Altas Filtros Passa-Baixas (FPA) realçam detalhes da imagem. Função de Transferência Imagem produzida por FPA Realce no Domínio da Freqüência
Filtragem Espacial – Convolução - Correlação h(-,-) f(,) f(, ):h(-,-) f(, ):h(-,-) f(, ):h(-,-) f(,):h(-,-) x y x x y y A convolução entre duas funções f(x,y) e h(x,y) de dimensões M×N é definida por • Exemplo: Realce no Domínio da Freqüência
Comparação f (0)=0; f (1)=0; f (2)=1; f (3)=0; f (4)=0 f (0)=0; f (1)=0; f (2)=1; f (3)=0; f (4)=0 f (0)=0; f (1)=0; f (2)=1; f (3)=0; f (4)=0 w(-1)=1; w(0)=2; w(1)=3 w(0)=1; w(1)=2; w(2)=3 w(0)=1; w(1)=2; w(2)=3 0 0 1 0 0 0 0 0 0 1 0 0 0 0 x x x -2 -2 -2 -1 -1 -1 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 Correlação Convolução Filtragem Digital 0 0 1 0 0 1 2 3 0 3 2 1 0 1 2 3 0 0 3 2 1 0 0 0 0 1 2 3 0 3 2 1 0 • a ordem importa! • eqüivale a tomar o simétrico de w e fazer a convolução. • a ordem não importa! • a ordem importa! • eqüivale a deslocar w e fazer a correlação, ou • a tomar o simétrico de w, deslocar e fazer a correlação. Realce no Domínio da Freqüência
Filtragem nos Dois Domínios - Teorema da Convolução • Sejam • F(u,v) a transformada de Fourier de f(x,y), isto é, • e H(u,v) a transformada de Fourier de h(x,y), isto é, • então vale a relação O símbolo indica que a expressão do lado esquerdo pode ser obtida pela transforma inversa de Fourier da expressão do lado direito, e vice-versa. A Função de Transferência H(u,v) usada na filtragem no domínio da freqüência é (quase) a transformada de Fourier da máscara h(x,y) usada nos filtros lineares espaciais. Realce no Domínio da Freqüência
Mais sobre Periodicidade O que se assume quanto aos valores de f(x+y) fora do intervalo coberto pelas MN amostras disponíveis? Da definição da transformada inversa decorre analogamente conclui-se que: =1, pois uZ A DFT assume implicitamente que f (x,y) é periódica, com período Me N. Realce no Domínio da Freqüência
Mais sobre Periodicidade f (m) h (m) m m A convolução: h (-m) f (m)*h (m) x m x Realce no Domínio da Freqüência
Mais sobre Periodicidade f (m) h (m) m m wraparound error f (m)*h (m) x A convolução considerando a periodicidade implícita na DFT: h (-m) x m Realce no Domínio da Freqüência
Mais sobre Periodicidade f (m)*h (m) x Para contornar o problema acrescentam-se zeros (zero padding) f (m) h (m) m m h (-m) x m Realce no Domínio da Freqüência
“Zero padding” em 2 D • Para que o teorema da convolução seja válido, as funções no espaço devem ter zeros “apendados” convenientemente. • Consideram-se f(x,y) e h(x,y)matrizes de dimensões AB e CD respectivamente. As funções discretas são estendidas: onde M ≥ A+ C -1 e N ≥ B+ D -1 • No MATLAB: [A B]=size(f); • [C D]=size(h); • fe=zeros(A+C-1,B+D-1); • he=fe; • fe(1:A,1:B)=f; • he(1:C,1:D)=h; Realce no Domínio da Freqüência
Correspondência Entre a Filtragem nos Dois Domínios exemplo de “zero padding” B B B B D D A B-1 C A máscara h(x,y) imagem filtrada no espaço g(x,y) imagem f(x,y) D-1 C A A A-1 C-1 imagem estendida fe(x,y) máscara estendida he(x,y) imagem filtrada na freqüência g(x,y) (miolo) Realce no Domínio da Freqüência
Filtragem no Domínio da Freqüência – procedimento completo × H(u,v) Transformada Inversa de Fourier Transformada de Fourier f(x,y) g(x,y) “ zero unpadding” “ zero padding ” F(u,v) G(u,v) Realce no Domínio da Freqüência
Filtros de Passa-Baixa Ideal (FPBI) Realce no Domínio da Freqüência
Filtros de Passa-Baixa Ideal (FPBI) - Exemplo imagem 500×500 pixels Saída FPBI raio=5 Saída FPBI raio=15 Saída FPBI raio=80 Saída FPBI raio=30 Saída FPBI raio=230 Realce no Domínio da Freqüência
Filtros de Passa-Baixa de Butterworth(FPBB) grau do filtro freqüência de corte Realce no Domínio da Freqüência
Filtros de Passa-Baixa de Butterworth(FPBB) - Exemplo imagem 500×500 pixels Saída FPBB raio=5 Saída FPBB raio=15 Saída FPBB raio=80 Saída FPBB raio=30 Saída FPBB raio=230 Realce no Domínio da Freqüência
Filtros de Passa-Baixa Gaussiano(FPBG) abertura do filtro Realce no Domínio da Freqüência
Filtros de Passa-Baixa Gaussiano (FPBG) - Exemplo imagem 500×500 pixels Saída FPBG raio=5 Saída FPBG raio=15 Saída FPBG raio=80 Saída FPBG raio=30 Saída FPBG raio=230 Realce no Domínio da Freqüência
Filtros de Passa-Alta Hfpai=1-Hfpbi Hfpab=1-Hfpbb Hfpag=1-Hfpbg Realce no Domínio da Freqüência
Filtros de Passa-Alta - Exemplos D0 = 15 D0 = 30 D0 = 80 Passa-alta Ideal Passa-alta Butterworth Passa-alta Gaussiano Realce no Domínio da Freqüência
Unsharp Masking, High Bosst e Ênfase de Altas Freqüências Unsharp Masking : Subtrai da imagem parte da saída de um filtro de suavização (passa-baixa) fum(x,y) = f(x,y) – B fpb(x,y) Hum(u,v) = 1 – B Hpb(u,v) High Boost: Acrescenta à imagem parte da saída de um filtro de nitidez (passa-alta) fhb(x,y) = f(x,y) + B fpa(x,y) Hhb(u,v) = 1 + AHpa(u,v) Ênfase de Altas Freqüências: Combina a imagem com a saída de um filtro de nitidez (passa-alta) faf(x,y) = af(x,y) + b fpa(x,y) Haf(u,v) = a + bHpa(u,v) Realce no Domínio da Freqüência
Filtro de Ênfase de Altas Freqüências - Exemplo imagem de Raio-X saída de um FPAB saída de um filtro de ênfase de altas freqüências após equalização de histograma Realce no Domínio da Freqüência
Filtros Rejeita-Faixa Ideal Butterworth Gaussiano Realce no Domínio da Freqüência
Filtros Rejeita-Faixa - Exemplo imagem com ruído senoidal espectro da imagem filtro rejeita-faixa de Butterworth resultado da filtragem Realce no Domínio da Freqüência
Filtros Notch Sendo Ideal Butterworth Gaussiano Realce no Domínio da Freqüência
Exemplo de Filtragem em Freqüência no MATLAB %--------------------------------------- % Procedimento de Filtragem %--------------------------------------- % Carrega a imagem, seja lá de onde for load imdemos f=im2double(flower); [M,N]=size(f); % Cria as matrizes contendo as coordenadas u e v nas mesmas dimensões da imagem [u,v]=freqspace( [2*M 2*N],'meshgrid'); % Define os parâmetros do filtro, no caso, de Batterworth rejeita-faixa W= 0.1; n=1; D0=.7; %--------------------------------------- % Construção da Função de Transferencia %--------------------------------------- % Cria uma matriz que contem o D(u,v) D=sqrt(u.^2 +v.^2); % Monta a função de transferencia H=1./(1+((D*W)./(D.^2-D0.^2)).^(2*n)); %--------------------------------------- % Filtragem no Domínio da Freqüência %--------------------------------------- H=fftshift(H); % coloca a origem no canto superior esquerdo de H F=fft2(f,[2*M 2*N]); % Calcula a transformada da imagem de saída apendando zeros G=H.*F; % Filtragem no domínio da freqüência g=real(ifft2(G)); % Parte real da transformada inversa g=g(1:M,1:N); % Recorta a área correspondente a imagem original %--------------------------------------- Realce no Domínio da Freqüência
Exemplo de Filtragem em Freqüência no MATLAB - Visualização %--------------------------------------- % Visualizacao %--------------------------------------- figure(1) % Abre nova janela surfl(fftshift(H)); % Visualiza Função de Transferência em 3D shading interp; % colormap copper % figure(2) % Abre nova janela subplot(2,2,1);imshow(f);title('Imagem de Entrada') % Visualiza a Imagem de Entrada subplot(2,2,2); imshow(real(g)); title('Imagem Filtrada') % Visualiza a Imagem de Saída % Prepara a Visualizacao da Transformada da Imagem de Entrada Faux=log(1+(abs(F))); Faux=Faux-min(Faux(:)); Faux=Faux./max(Faux(:)); subplot(2,2,3); imshow(fftshift(Faux)); title('Transformada da Imagem de Entrada') % Visualiza Transformada da Imagem de Entrada % Prepara a Visualizacao da Transformada da Imagem Filtrada Gaux=log(1+(abs(G))); Gaux=Gaux-min(Gaux(:)); Gaux=Gaux./max(Gaux(:)); subplot(2,2,4); imshow(fftshift(Gaux)); title('Transformada da Imagem Filtrada') % Visualiza Transformada da Imagem de Entrada %--------------------------------------- Realce no Domínio da Freqüência
Realce de Imagens Coloridas Converte-se a imagem de RGB para HSI, opera-se sobre uma das componentes, como para tons de cinza, e converte-se de volta para RGB. • Em geral sobre a componente INTENSIDADE; exemplo : Highboost • Cores mais “vivas” obtém-se multiplicando a SATURAÇÃO por um fator >1; exemplo: S= 2 S • Somar (subtrair) uma constante ao MATIZ “esquenta” (“esfria”) a imagem. • Se a constante for elevada, pode haver alteração significativa na aparência da imagem. Realce no Domínio da Freqüência