RQF-Agostol/2004 Realce no Domínio da Freqüência 1
“O homem que fala dois idiomas vale por dois” - Ditado Popular
RQF-Agostol/2004 Realce no Domínio da Freqüência 2
Jean Baptiste Joseph Fourier
1768 Auxerre, França
1807 1822
On the Propagation of Heat in Solid Bodies
(Série de Fourier)
1830 Paris
RQF-Agostol/2004 Realce no Domínio da Freqüência 3
Transformada de Fourier Contínua
• Define-se a correspondente Transformada Inversa de Fourier como:
duF(u)exfuF uxj2
π1
• A Transformada de Fourier de uma função contínua de uma variável f(x) em R é definida por :
1onde,π
jdxf(x)euFxf uxj2
uFxf
vuFyxf ,, • A Transformada de Fourier de uma função contínua de duas variáveis f(x,y) em R2 é definida por :
dydxy)ef(xvuFyxf vyuxj2
π,,,
• Define-se a a correspondente Transformada Inversa de Fourier como:
dvduevuFyxfvuF vyuxj2
π1 ,,,
RQF-Agostol/2004 Realce no Domínio da Freqüência 4
Analogia entre Transformada de Fourier e um Prisma
f(x)
F(0)F(1)
F(M-1)
Transformada de Fourier
RQF-Agostol/2004 Realce no Domínio da Freqüência 5
Transformada de Fourier Discreta (DFT) de Uma Variável
• Define-se a correspondente DFT Inversa como:
1
0
/πM
u
Muxj2F(u)exf
• A DFT F(u) de uma função discreta de uma variável f(x), x=0, 1, 2, ... M-1 em R é dada pela equação :
MuexfM
uFM
x
Muxj ,...,2,1,0para,1 1
0
/2
• O conceito de Domínio da Freqüência decorre da fórmula de Euler:
sencos je j
• Substituindo na primeira equação obtém-se:
1...,,2,1,0para,/πsen/πcos1 1
0
MuMux2jMux2f(x)M
uFM
x
domínio dafreqüência
componenteem freqüência
RQF-Agostol/2004 Realce no Domínio da Freqüência 6
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.
ujIuRuF )(
ujeuFuF
uIuRuFuP 222)(
• Espectro de Potência de f(x)
uR
uIu 1tan 2/122 uIuRuF
Válido para as transformadas Contínuas e Discretas
RQF-Agostol/2004 Realce no Domínio da Freqüência 7
f(x)
M amostras
f(x 0)
f(x 0+
Δx)
f(x 0+
2Δx)
f(x 0+
[M-1
]Δx)
. . .
f(0)
f(1)
f(2)
f(M
-1)
AK/M
M amostras
|F(u)|
Transformada de Fourier Discreta (DFT) de Uma Variável
AK/M
M amostras
|F(u)|
Δ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)
Δu
. . .|F(1
)|
|F(2
)|
|F(0)|
• para tornar independente da resolução faz-se f (k) = f(x0+ kΔx)
∆u = 1 M ∆x
RQF-Agostol/2004 Realce no Domínio da Freqüência 8
Transformada de Fourier Discreta Bidimensional
•As transformadas direta e inversa discreta em duas dimensões ficam:
1
0
1
0
//π),(1
,M
x
N
y
NvyMuxj2eyxfMN
vuF
para u=0, 1, 2,...,M-1, v=0, 1, 2,...,N-1, e
1
0
1
0
πM
u
N
v
N/vyM/uxj2ev,uFy,xf
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:
xM
1u
ΔΔ
yN
1v
ΔΔ e
RQF-Agostol/2004 Realce no Domínio da Freqüência 9
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.
vujIvuRvuF ,,),(
vujevuFvuF ,,,
vuIvuRvuFvuP ,,,),( 222
• Espectro de Potência de f(x)
vuR
vuIvu
,
,tan, 1 2/122 ,,, vuIvuRvuF
RQF-Agostol/2004 Realce no Domínio da Freqüência 10
Exemplo de Senos e Cossenos em Duas Dimensões
cos[2(0,y)] cos[2 (x,0)] sen[2 (0,y)]
cos[2 (3x,4y)] sen[2 (5x,2y)] cos[2 (3x,-5y)] sen[2 (-3x,6y)]
sen[2 (x,0)]
As figuras abaixo estão normalizada de modo a se ajustarem ao intervalo [0:1]
RQF-Agostol/2004 Realce no Domínio da Freqüência 11
Propriedade da Periodicidade e Simetria do Conjugado
vuFNvMuFvuF ,,, * vuFvuF ,,
Exemplo:
RQF-Agostol/2004 Realce no Domínio da Freqüência 12
Propriedade da Translação
vuu,vF/Ny,/Mxf
122 1
2/2/1 N,vMuFx,yf yx e
Exemplo:
Imagem Original Transformada sem deslocamento
origem origem
Transformada com origem no centro
da matriz
RQF-Agostol/2004 Realce no Domínio da Freqüência 13
Propriedade da Rotação
senωvcosωusenθrycosθrx •Introduzindo coordenadas polares
f(x,y) e F(u,v) se tornam f(r,) e F(, )
00 ,, θFθθrf
Imagem original
Imagem rotacionada
Espectro
Espectro resultante
Exemplo:
RQF-Agostol/2004 Realce no Domínio da Freqüência 14
Propriedades da Distributividade, Escala, Similaridade, Valor Médio
yxfyxfyxfyxf ,,,, 2121 •Distributividade:
•Escala: vuaFyxaf ,,
•Similaridade: bvauFab
byaxf /,/1
,
•Valor Médio: 0,01
, FN
yxf
yxfyxfyxfyxf ,,,, 2121
depende da implementação
RQF-Agostol/2004 Realce no Domínio da Freqüência 15
Visualização da Transformada em 2D
• 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:
),(1log),( vuFcvuD
onde c é uma constante arbitrária.
Exemplo
|F(u,v)| D(u,v)
RQF-Agostol/2004 Realce no Domínio da Freqüência 16
transformada
Filtragem em Freqüência – relações espaço × freqüência
Características:• bordas a ±45º • duas incrustações de óxido
imagem microscópica de um circuito integrado
imagem
RQF-Agostol/2004 Realce no Domínio da Freqüência 17
Filtragem no Domínio da Freqüência - procedimento
Transformada
de Fourier ×Transformada
Inversa de Fourier
f(x,y) g(x,y)
H(u,v)
G(u,v)F(u,v)
domínio dafreqüência
(3)parte real (4)
(1)
(2)
domínio do espaço
RQF-Agostol/2004 Realce no Domínio da Freqüência 18
Filtros Básicos: “Notch”
contráriocaso
0,0,se
1
0,
vuvuH
RQF-Agostol/2004 Realce no Domínio da Freqüência 19
Filtros Básicos: Passa-Baixas
Filtros Passa-Baixas (FPB) “borram” a imagem
Função de Transferência Imagem produzida por FPB
RQF-Agostol/2004 Realce no Domínio da Freqüência 20
Filtros Básicos: Passa-Altas
Filtros Passa-Baixas (FPA) realçam detalhes da imagem.
Função de Transferência Imagem produzida por FPA
RQF-Agostol/2004 Realce no Domínio da Freqüência 21
f(, ):h(-,-)
x
y
f(, ):h(-,-)
x
y
f(, ):h(-,-)
x
y
f(,):h(-,-)
Filtragem Espacial – Convolução - Correlação
f(,)
h(-,-)
A convolução entre duas funções f(x,y) e h(x,y) de dimensões M×N é definida por
•Exemplo:
1
0
1
0
),(),(1
),(),(M
m
N
n
nymxhnmfMN
yxhyxf
RQF-Agostol/2004 Realce no Domínio da Freqüência 22
Comparação
1
0
M
m
mxwmfxwxf
1
0
M
m
mxwmfxwxf
2/)1(
2/)1(
M
Mm
mxwmfxg
3 2 1 0 0
0 0 1 0 0
0 0 1 2 3
1 2 3
0 0 0 00 0 1 0 0
0 3 2 1 0 -2 -1 0 1 2 3 4 5 6x -2 -1 0 1 2 3 4 5 6x -2 -1 0 1 2 3 4 5 6x
f (0)=0; f (1)=0; f (2)=1; f (3)=0; f (4)=0
w(0)=1; w(1)=2; w(2)=3
f (0)=0; f (1)=0; f (2)=1; f (3)=0; f (4)=0
w(0)=1; w(1)=2; w(2)=3
f (0)=0; f (1)=0; f (2)=1; f (3)=0; f (4)=0
w(-1)=1; w(0)=2; w(1)=3
Correlação Convolução Filtragem Digital
a ordem não importa!a ordem importa!eqüivale a tomar o simétrico de w e fazer a convolução.
a ordem importa!eqüivale a deslocar w e fazer a correlação, oua tomar o simétrico de w, deslocar e fazer a correlação.
3 2 1
0 0 1 0 0
1 2 3
0 0 0 0
RQF-Agostol/2004 Realce no Domínio da Freqüência 23
Filtragem nos Dois Domínios - Teorema da Convolução
vuHvuFyxhyxf
vuHvuFyxhyxf
,,,,
,,,,
),(, vuFyxf
),(, vuHyxh
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.
RQF-Agostol/2004 Realce no Domínio da Freqüência 24
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
0
1
0
//π,,M
u
N
v
NvyMuxj2evuFyxf
yxfeevuF
evuFyMxf
M
u
N
v
j2NvyMMxuj2
M
u
N
v
NvyMMxuj2
,,
,,
1
0
1
0
πu//π
1
0
1
0
//π
NyMxfNyxfyMxfyxf ,,,,
NvMuFNvuFvMuFvuF ,,,,
A DFT assume implicitamente que f (x,y) é periódica, com período M e N.
=1, pois uZ
RQF-Agostol/2004 Realce no Domínio da Freqüência 25
Mais sobre Periodicidade
x
m x
h (-m) f (m)*h (m)
f (m)
m m
h (m)
A convolução:
RQF-Agostol/2004 Realce no Domínio da Freqüência 26
Mais sobre Periodicidade
m
h (-m)
m
h (m)
x
f (m)*h (m)
f (m)
m
x
A convolução considerando a periodicidade implícita na DFT:
wraparound error
RQF-Agostol/2004 Realce no Domínio da Freqüência 27
Mais sobre Periodicidade
x
m
h (-m)
m
h (m)f (m)
m
x
f (m)*h (m)
Para contornar o problema acrescentam-se zeros (zero padding)
RQF-Agostol/2004 Realce no Domínio da Freqüência 28
“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:
110
1010,,
,110
1010,,
NyDouMxC
DyeCxyxhyxh
eNyBouMxA
ByeAxyxfyxf
e
e
• 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;
onde M ≥ A+ C -1 e N ≥ B+ D -1
RQF-Agostol/2004 Realce no Domínio da Freqüência 29
Correspondência Entre a Filtragem nos Dois Domínios exemplo de “zero padding”
A
A
B
B
D
C
imagem f(x,y)
máscara h(x,y)
imagem filtradano espaço g(x,y)
máscara estendida he (x,y)
imagem filtrada na freqüência g(x,y) (miolo)
B
imagem estendida fe(x,y)
D-1 D
C
B-1
A-1
A
C-1
A
B
RQF-Agostol/2004 Realce no Domínio da Freqüência 30
Filtragem no Domínio da Freqüência – procedimento completo
Transformada
de Fourier ×Transformada
Inversa de Fourier
f(x,y) g(x,y)
H(u,v)
G(u,v)F(u,v)
“ zero padding ”
“ zero unpadding”
RQF-Agostol/2004 Realce no Domínio da Freqüência 31
Filtros de Passa-Baixa Ideal (FPBI)
2
122),(onde,
,se
,se
0
1, vuvuD
DvuD
DvuDvuH
o
o
RQF-Agostol/2004 Realce no Domínio da Freqüência 32
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=30 Saída FPBI raio=80 Saída FPBI raio=230
RQF-Agostol/2004 Realce no Domínio da Freqüência 33
Filtros de Passa-Baixa de Butterworth(FPBB)
nDvuD
vuH 20/,1
1,
grau do filtro
freqüência de corte
RQF-Agostol/2004 Realce no Domínio da Freqüência 34
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=30 Saída FPBB raio=80 Saída FPBB raio=230
RQF-Agostol/2004 Realce no Domínio da Freqüência 35
Filtros de Passa-Baixa Gaussiano(FPBG)
20
2
2
2
2,
2,
, DvuDvuD
eevuH
abertura do filtro
RQF-Agostol/2004 Realce no Domínio da Freqüência 36
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=30 Saída FPBG raio=80 Saída FPBG raio=230
RQF-Agostol/2004 Realce no Domínio da Freqüência 37
Filtros de Passa-Alta
Hfpai=1-Hfpbi
Hfpab=1-Hfpbb
Hfpag=1-Hfpbg
RQF-Agostol/2004 Realce no Domínio da Freqüência 38
Filtros de Passa-Alta - Exemplos
D0 = 15 D0 = 30 D0 = 80
Passa-alta Ideal
Passa-alta Butterworth
Passa-alta Gaussiano
RQF-Agostol/2004 Realce no Domínio da Freqüência 39
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 + A Hpa(u,v)
Ênfase de Altas Freqüências: Combina a imagem com a saída de um filtro de nitidez (passa-alta)
faf(x,y) = a f(x,y) + b fpa(x,y) Haf(u,v) = a + b Hpa(u,v)
RQF-Agostol/2004 Realce no Domínio da Freqüência 40
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
RQF-Agostol/2004 Realce no Domínio da Freqüência 41
Filtros Rejeita-Faixa
2/),(se
2/),(2/se
2/),(se
1
0
1
,
0
00
0
WDvuD
WDvuDWD
WDvuD
vuH
Ideal
Butterworth
Gaussiano
220
2
),(
),(
2
1
1),(
WvuD
DvuD
evuH
n
DvuDWvuD
vuH 2
20
2 ),(),(
1
1),(
RQF-Agostol/2004 Realce no Domínio da Freqüência 42
Filtros Rejeita-Faixa - Exemplo
imagem com ruído senoidal espectro da imagem
filtro rejeita-faixa de Butterworth resultado da filtragem
RQF-Agostol/2004 Realce no Domínio da Freqüência 43
Filtros Notch
contráriocaso
),(ou),(
1
0, 0201 DvuDDvuDvuH
Ideal
Butterworth
Gaussiano
21
0022
1
001 )()(),(e)()(),( vvuuvuDvvuuvuD Sendo
20
21 ),(),(
2
1
1),( D
vuDvuD
evuH
n
vuDvuDD
vuH
),(),(1
1),(
21
20
RQF-Agostol/2004 Realce no Domínio da Freqüência 44
Exemplo de Filtragem em Freqüência no MATLAB
%---------------------------------------% Procedimento de Filtragem%---------------------------------------% Carrega a imagem, seja lá de onde forload imdemosf=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-faixaW= 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 transferenciaH=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 HF=fft2(f,[2*M 2*N]); % Calcula a transformada da imagem de saída apendando zerosG=H.*F; % Filtragem no domínio da freqüênciag=real(ifft2(G)); % Parte real da transformada inversag=g(1:M,1:N); % Recorta a área correspondente a imagem original%---------------------------------------
RQF-Agostol/2004 Realce no Domínio da Freqüência 45
Exemplo de Filtragem em Freqüência no MATLAB - Visualização
%---------------------------------------% Visualizacao%---------------------------------------figure(1) % Abre nova janelasurfl(fftshift(H)); % Visualiza Função de Transferência em 3Dshading interp; %colormap copper %
figure(2) % Abre nova janela subplot(2,2,1);imshow(f);title('Imagem de Entrada') % Visualiza a Imagem de Entradasubplot(2,2,2); imshow(real(g)); title('Imagem Filtrada') % Visualiza a Imagem de Saída
% Prepara a Visualizacao da Transformada da Imagem de EntradaFaux=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 FiltradaGaux=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%---------------------------------------
RQF-Agostol/2004 Realce no Domínio da Freqüência 46
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.