Upload
omar-sanchez
View
15.648
Download
1
Embed Size (px)
Citation preview
Transformada de Fourier
Transformada: Representación alternativa de una imagen
Transformada de Fourier: Cualquier señal periódica puede representarse por una suma de señales basadas en senos y cosenos con diferente amplitud, frecuencia y fase
Transformada de Fourier (III)
1
0
/2)(1
)(M
x
MuxjexfM
uF
La transformada discreta de Fourier:
[x, f(x)][dominio del tiempo,
amplitud]
[ u, F(u) ][ dominio de la frecuencia, componente de frecuencia]
Argumentos x y u: [0.. M-1]
Se calcula: Se sustituye primero u=0 y se evalúa para todas las x, después u=1 y se evalúa todas las x …
Transformada de Fourier (IV)
012 xUn sistema en el cual tenga solución: 1j
Forma binómica
x
y
x+jy
Eje real
Eje imaginario Sea la transformada:
1
0
/2)(1
)(M
x
MuxjexfM
uF
Al aplicar la fórmula de Euler:
sincos je j
Sumas de senos y cosenos con diferente amplitud, frecuencia y fase :
1
0
)]/2()/2)[cos((1
)(M
x
MuxjsenMuxxfM
uF
Transformada de Fourier (V)
1
0
)]/2sin()/2)[cos((1
)(M
x
MuxjMuxxfM
uF
Fs = 1000; % Frecuencia de muestreo: 1KHzT = 1/Fs; % Período de muestreoL = 1000; % Número de unidadesx = (0:L-1)*T; % Vector de tiempo (x)
Interpretación de la entrada (x)
Interpretación de la salida (F(u))
>> a=1+i*1 1.0000 + 1.0000i>> abs(a) 1.4142>> sqrt(2)
Valor absoluto del número imaginario(forma polar)
Transformada de Fourier (VI)
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5 10 15 20 25 30 35 40 45 500
10
20
30
40
50
60
70
80
90
100
[x, f(x)] [ u, F(u) ]
>>log(abs(fft(escalón)))
Espectro de FourierReduce la magnitud
de salida
Transformada de Fourier (VII)La transformada de Fourier de una función
dependiente de dos variables
1
0
)//(21
0
),(),(M
x
NvyMuxjN
y
eyxfvuF
donde: (x = 0,1, ..M-1) e (y = 0,1, ..N-1) (u = 0,1, ..M-1) y (v = 0,1, ..N-1)
1
0
)//(21
0
),(1
),(M
u
NvyMuxjN
v
evuFMN
yxf
La cual puede reconstruirse a su valor original
Espacio Frecuencia
Funciones de interés de MATLAB
% Crea figuraf = zeros(30,30);f(5:24,13:17) = 1;% Aplica la transformada de FourierF = fft2(f,256,256);
% Mueve el origen de la transformada al centro del gráfico de frecuencias
F1 = fftshift(F);
%Visualiza imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar
Fuente: Fourier Transform. Matlab
1
0
)//(21
0
),(),(M
x
NvyMuxjN
y
eyxfvuF
Detalle filas
figure; plot(F2(2,:)); figure; plot(F2(128,:));
0 50 100 150 200 250-6
-5
-4
-3
-2
-1
0
1Fila 2
0 50 100 150 200 250-1
0
1
2
3
4
5Fila 128
-1
0
1
2
3
4
5
Detalle columnas
figure; plot(F2(:,2)); figure; plot(F2(:,128));
-1
0
1
2
3
4
5
0 50 100 150 200 250-4
-3
-2
-1
0
1
2
3Columna 2
0 50 100 150 200 250-2
-1
0
1
2
3
4
5Columna 128
Filtro en el dominio de la frecuencia
Componente de alta frecuencia en una imagen: Transiciones bruscas en niveles de gris
Suavizado: Eliminar las componentes de alta frecuencia
Filtro en el dominio de la frecuencia
),(),(),( vuFvuHvuG
donde: F(u,v): transformada de Fourier de la imagen original H(u,v): Filtro atenuador de frecuencias
Filtro en el dominio de la frecuencia (II)
Imagen de
entradaf(x,y)
Transfor-mada de FourierF(u,v)
FiltroH(u,v)* F(u,v)
Transfor-mada
inversa de Fourier
Imagen filtrada
Pasos para filtrar la imagen
Figura original Figura resultante
Transformada de Fourier
2
3
4
5
6
7
8
9
10
11
12
Filtros: Cuadrado
-1
-0.50
0.5
1
-1
-0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
1.2 D(u,v)
D0
(u,v)
0
0
),(0
),(1),(
DvuDsi
DvuDsivuH
Para una matriz MxN:Centro = (u, v) = (M/2, N/2)
0 0 0 0 0 0 0
0 1 1 1 1 1 0
0 1 1 1 1 1 0
0 1 1 1 1 1 0
0 1 1 1 1 1 0
0 1 1 1 1 1 0
0 0 0 0 0 0 0D0 = 3
Filtros: Circular
0 0 0 0 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 0 0 0 0
Supóngase la siguiente matriz(M, N) = (5, 5)
Centro(u, v)=(3, 3)
])2/()2/[(),( 22 NvMuvuD
Distancia al centro de matriz de frecuencias
-1
-0.50
0.5
1
-1
-0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
Representación del Filtro en el dominio de la frecuencia
%Representación dominio frecuencia[f1, f2]=freqspace(25, 'meshgrid');Hd=zeros(25,25); d=sqrt(f1.^2+f2.^2)<.75;Hd(d)=1;mesh(f1,f2,Hd);
-1
-0.50
0.5
1
-1
-0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
-1
-0.50
0.5
1
-1
-0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
-1
-0.50
0.5
1
-1
-0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
Filtros: Algunas expresiones
nDvuDvuH
20/),(1
1),(
Filtro de Butterworth de orden n: Cae al 50% de su máximo valor cuando D(u,v)=D0)
20
2 2/),(),( DvuDevuH
Filtro pasobajo Gaussiano: Cae al 60.7% de su máximo valor cuando D(u,v)=D0)
-1
-0.50
0.5
1
-1
-0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
Fx
Fy
Magnitude
Transiciones horizontales y verticales
Premia transiciones verticales "prewitt" Premia transiciones horizontales "prewitt"
El tamaño de las matrices
Cuando se aplica un algoritmo de filtrado digital basado en la transformada de Fourier puede existir interferencia
entre períodos adyacentes si los períodos están muy próximos con respecto a la duración de la parte de la
función que adquiere valores diferentes de cero
f(x,y) y h(x,y) tienen el tamaño AxB y CxD
El tamaño de las funciones resultantes serán PxQ:
1 CAP 1 DBQLos píxeles de la extensión se rellenan con ceros
Filtro en el dominio de la frecuencia: Matlab
%Recalcula la magnitud que tendrá F y H %(llenará ceros)PQ=paddedsize(size(f)); % DIPUM
% Se obtiene la transformadaF=fft2(f, PQ(1), PQ(2));
% Se define el filtroh=fspecial('gaussian', 100);
% Se filtra y se calcula la Transformada inversag=real(ifft2(H1.*F1));
Filtro en el dominio de la frecuencia: Matlab (II)
Figura originalTransformada de Fourier
2
3
4
5
6
7
8
9
10
11
12
Filtro
-1
0
1
2
3
4
5
Imagen resultante
Filtro en el dominio de la frecuencia
Filtros pasobajo: “suavizan” las transiciones de grises filtros pasoaltos: Enfatizan las transiciones de grises
Figura original Disco Laplaciano de filtro gausiano
Filtro en el dominio de la Frecuencia Vs Espacio
%Recalcula la magnitud que tendrá F y H (llenará ceros)PQ=paddedsize(size(f));% Se obtiene la transformadaF=fft2(f, PQ(1), PQ(2));% Se define el filtroh=fspecial('gaussian', 100);% Se filtra y se calcula la Transformada inversag=real(ifft2(H1.*F1));
Frecuencia
Espacio
h=fspecial('gaussian', 100);gs=imfilter(f, h);