Академический Документы
Профессиональный Документы
Культура Документы
=
=
2
1
0
( ) ( )
N
j ux
N
u
f x F u e
t
=
=
b) DFT bidimensional
La funcin discreta f(x,y) representa muestras de la funcin
donde e .
0 0
( , ) f x x x y y y + A + A 0,1, 2,... 1 x M = 0,1, 2,... 1 y N =
(2.6)
(2.7)
1 1
2 ( )
0 0
1
( , ) ( , )
u x v y
M N
j
M N
x y
F u v f x y e
N
t
+
= =
=
0,1, 2,... 1
0,1, 2,.... 1
u M
v N
=
1 1
2 ( )
0 0
1
( , ) ( , )
u x v y
M N
j
M N
u v
f x y F u v e
M
t
+
= =
=
0,1, 2,... 1
0,1, 2,.... 1
x M
y N
=
con (2.13)
1 1
2 2
0 0
1
( , ) ( , )
u x v y
M N
j j
N N
u v
f x y e F u v e
N
t t
| | | |
| |
\ . \ .
= =
=
0,1, 2,... 1
0,1, 2,.... 1
x M
y N
=
Para el caso particular de (desplazamiento del origen de
frecuencias al centro geomtrico de la imagen) tenemos que:
(2.16)
(2.17)
Esta propiedad de traslacin, no modifica el mdulo de la transformada.
0 0
2
( )
( 1)
u x v y
j
j x y x y
N
e e
t
t
+
+ +
= =
( ) ( ) , 1 ,
2 2
x y N N
f x y F u v
+ | |
|
\ .
0 0
2
N
u v = =
Propiedades de la transformada discreta
de Fourier bidimensional
2.3.3 Periodicidad y simetra conjugada:
Cuando f(x,y) es real, la transformada cumple la propiedad de simetra
conjugada
(2.19)
( , ) ( , ) F u v F u v =
(2.19)
Si se divide la imagen transformada en 4 cuadrantes (suponiendo que
el origen de frecuencias est en el centro de la imagen transformada),
y la imagen de entrada es real (generalmente lo ser), el tercer
cuadrante ser igual al primer cuadrante rotado 180, y el cuarto
cuadrante ser igual al segundo rotado 180. Analticamente:
Propiedades de la transformada discreta
de Fourier bidimensional
Propiedades de la transformada discreta
de Fourier bidimensional
2.3.8 Convolucin y Correlacin:
Estas operaciones son de gran importancia cuando se hace tratamiento digital de
imgenes en el dominio de la frecuencia.
La convolucin bidimensional se puede expresar por:
con
( ) ( ) ( ) ( )
1 1
, , , ,
M N
f x y g x y f m n g x m y n
= =
- =
0,1, 2,... 1
0,1, 2,.... 1
x M
y N
=
con
Si se pasa esta expresin al domino de Fourier el producto de convolucin pasa a
ser un producto algebraico, simplificando as su clculo.
( ) ( ) ( ) ( )
0 0
, , , ,
m n
f x y g x y f m n g x m y n
= =
0,1, 2,.... 1 y N
( ) ( ) ( ) ( )
, , , , f x y g x y F u v G u v -
( ) ( ) ( ) ( )
, , , , f x y g x y F u v G u v -
Propiedades de la transformada discreta
de Fourier bidimensional
La correlacin bidimensional discreta se puede expresar por:
(2.34)
donde es el conjugado complejo.
( ) ( ) ( ) ( )
1 1
0 0
, , , ,
M N
m n
f x y g x y f m n g x m y n
= =
-
= =
= + +
0,1, 2,... 1
0,1, 2,.... 1
x M
y N
=
-
donde es el conjugado complejo.
Si se pasa esta expresin al domino de Fourier el producto de correlacin pasa
a ser un producto algebraico, simplificando as su clculo.
(2.35)
(2.36)
Una de las principales aplicaciones de la correlacin es la comparacin entre
imgenes, es decir, determinar el grado de parecido entre un conjunto de
imgenes conocidas y una imagen desconocida.
( ) ( ) ( ) ( )
, , , , f x y g x y F u v G u v
-
( ) ( ) ( ) ( ) , , , , f x y g x y F u v G u v
-
2.5. Transformada rpida de Fourier (FFT)
Al hablar de la DFT, ya habamos comentado que sta puede calcularse
de forma eficiente mediante el uso de algoritmos rpidos como lo es
la fast Fourier transform FFT.
Sin un algoritmo eficiente que calcule la DFT, no sera posible usar la
transformada de Fourier en el tratamiento de la imagen. La aplicacin transformada de Fourier en el tratamiento de la imagen. La aplicacin
directa de la expresin de la DFT resultara tedioso. Cada punto en la
imagen transformada (suponemos que es cuadrada) necesita N
multiplicaciones complejas y N-1 sumas complejas (sin contar el
clculo de las funciones base - senos y cosenos -).
En total, necesitamos multiplicaciones complejas y N(N-1)
sumas complejas.
4
N
2.5. Transformada rpida de Fourier (FFT)
2.5.1. Algoritmo de la FFT unidimensional y su desarrollo
Para desarrollar la FFT, se parte de la expresin de la DFT unidimensional:
donde (2.37)
El nmero de muestras N debe ser potencia de dos, es decir tiene que tener la
forma: donde n es un entero positivo.
1
0
1
( ) ( )
N
ux
N
x
F u f x W
N
=
=
2
j
N
N
W e
t
=
2
n
N =
forma: donde n es un entero positivo.
Por tanto N se puede expresar como N=2M donde Mes entero y positivo.
Sustituyendo esto en la expresin de la DFT unidimensional queda:
(2.38)
Esta expresin puede desglosarse en pares e impares, segn la posicin par o impar que
ocupen las muestras en el array (arreglo) de entrada. Segn esto se tiene que:
(2.39)
2 1
2
0
1
( ) ( )
2
M
ux
M
x
F u f x W
M
=
=
1 1
(2 ) (2 1)
2 2
0 0
1 1
( ) (2 ) (2 1)
2 2
M M
u x u x
M M
x x
F u f x W f x W
M M
+
= =
= + +
Transformada rpida de Fourier (FFT)
Y esta ltima expresin se puede poner como:
(2.40)
donde
2
1
( ) [ ( ) ( ) ]
2
u
par impar M
F u F u F u W = +
( )
1
0
1
(2 )
M
ux
par M
x
F u f x W
M
(2.41)
y usando las propiedades de periodicidad de las exponenciales, que estn incluidas
en la expresin de la FFT, se tiene que y que
, por tanto:
(2.42)
( )
1
0
1
(2 1)
M
ux
impar M
x
F u f x W
M
= +
u M u
M M
W W
+
=
2 2
u M u
M M
W W
+
=
2
1
( ) [ ( ) ( ) ]
2
u
par impar M
F u M F u F u W + =
Transformada rpida de Fourier (FFT)
La conclusin que se obtiene es que una transformada de N puntos se puede calcular
como divisin de dos transformadas de N/2 puntos (muestras con posiciones pares
e impares).
El clculo de F(u) para u= 0,1,2,(N/2)-1 se consigue evaluando la ecuacin 2.40, mientras
que los puntos restantes se obtienen a travs de la ecuacin 2.42, pero esta vez sin necesidad de
volver a evaluar las transformadas, puesto que stas ya haban sido evaluadas en el clculo de la
ecuacin 2.40.
Aplicando este algoritmo de sucesivas divisiones, el nmero total de operaciones complejas Aplicando este algoritmo de sucesivas divisiones, el nmero total de operaciones complejas
cambia desde N hasta N+2*(N/2), y luego hasta N+2*[(N/2)+2*(N/4) ] y as sucesivamente,
dependiendo del nmero de etapas en las que puede descomponerse la DFT de N puntos.
Si N es grande e igual a , entonces el nmero de etapas es p, y el nmero de operaciones
complejas pasa de ser N a N+N+ ......+N=N*p = N*log2N.
Para el ejemplo que estamoss iguiendo ( N=8 ), el total de operaciones complejas ser
N*p=8*3=24.
2
p
3. Conceptos Bsicos de las Imgenes
Para leer imgenes contenidas en un archivo al ambiente de octave o
matlab se utiliza la funcin imread, cuya sintaxis es:
>> imread (nombre del archivo.jpg)
De tal forma que si se quisiera introducir la imagen contenida en el
archivo data.jpg a una variable para su procesamiento en octave,
entonces se tendra que escribir en lnea de comandos:
>>image=double(imread(unigray.jpg));
Usamos double para una doble precisin de la imagen de entrada.
Una vez que la imagen esta contenida en una variable de Octave es
posible utilizar las funciones para procesar la imagen. Por ejemplo, una
funcin que permite encontrar el tamao de la imagen es size :
[m, n]=size (unigray);
en donde my n contendrn los valores de las dimensiones de la imagen.
11 12 1
21 22 2
1 2
( , )
n
n
m m mn
x x x
x x x
I x y
x x x
| |
|
|
=
|
|
\ .
=
Figura 3.7. a) Imagen original. b) Imagen filtrada con H(u)=u
2
.
n
dx
Conceptos Bsicos de las Imgenes
3.5.3. Filtros de suavizamiento
A veces es necesario suavizar el contraste de la imagen. Los filtros diseados para
esta tarea aumentan el peso de frecuencias bajas en el espectro de la imagen. Por
ejemplo, el filtro H(u)=exp(-au
2
) (Gaussiana) suaviza la imagen, tal y como
podemos observar en la figura siguiente.
Figura 3.8. a) Imagen original. b) Imagen filtrada
4. Imgenes obtenidas en Qt-Octave: Uso de los
comandos fft , ifft y fftshift
Las funciones bsicas de OCTAVE para realizar este clculo son fft e ifft,
que emplean el algoritmo de la Transformada Rpida de Fourier (FFT) y que
admiten como argumento un vector con los valores discretos de las
correspondientes funciones. El listado completo del fichero de entrada se
incluye en el programa 2.
En OCTAVE, este centrado se consigue especificando rango adecuado de
frecuencias y mediante el comando fftshift, como muestra el fichero de frecuencias y mediante el comando fftshift, como muestra el fichero de
entrada con el que se han calculado las figuras 4.2 a) y b) y que se incluye en
el programa 1.
Se realiza la TDF de una seal senoidal de f = 10 Hz de T
0
= 1 s de
duracin muestreada con N = 200 mediante el programa OCTAVE. La
figura 4.3 muestra la funcin original, las partes real e imaginaria de
la TDF, y la seal que se recupera mediante la Transformada Inversa
Discreta de Fourier (TIDF) de la anterior
Imgenes obtenidas en Qt-Octave
Programa 1: Fichero de OCTAVE para la representacin estndar y centrada.
e
(x
0
,y
0
)exp(ik(x
0
2
+y
0
2
)/2z).
Fenmenos pticos
5.1.2 Difraccin de Fraunhofer
Si la distancia z >> k(x
0
2
+ y
0
2
)
max
/2=ka
2
max
/2, donde x
0max,
y
0max
son los tamaos
horizontales y verticales del objeto difractado, respectivamente, el factor de fase
cuadrtica exp(ik(x
0
2
+y
0
2
)/2z) que aparece en la integral anterior se hace
prcticamente igual a la unidad, por lo que la expresin de la amplitud compleja se
simplifica dando lugar a la conocida aproximacin de Fraunhofer o de campo lejano
Para estas distancias
s
(x,y) es proporcional a la transformada de fourier de
e
en
(x
0
,y
0
) representada en los trminos de frecuencias espaciales (kx/z, ky/z), e
incluyendo los factores multiplicativos de amplitud y de fase cuadrtica. En particular,
se obtiene en intensidad una respuesta proporcional al mdulo cuadrado de la
transformada de Fourier de
e
(x
0
,y
0
)
Fenmenos pticos
La observacin de la transformada de Fourier ptica en el espacio libre no es muy til. Primero,
porque la distancia z donde se observe puede ser grande. Por ejemplo para un objeto de tamao 1
mm y longitud de onda =632.8nm (color rojo), la distancia z tiene que ser del orden de 5m. Y
segundo, porque el factor de escala de la transformada de Fourier ptica depende de z, y para z
grande el espectro se ensancha enormemente.
Para realizar la observacin de la transformada de Fourier ptica se utilizan normalmente los
sistemas pticos con lentes delgadas, que pertenecen a la familia de los sistema ptico de primer
orden.
Figura 5.2: Representacin esquemtica de regiones de difraccin que definen distintos regmenes.
Fenmenos pticos
Programa 7. Programa Fraunhofer: En este caso se simula la difraccin de Fraunhofer usando
Las transformadas de Fourier. Se muestra los espectros de difraccin de Fraunhofer para varios
tipos de rendijas(figuras 5.3-5.7)
clear all
close all
A = double(imread('rendija.jpg')); #entrada del tipo de rendija
N=195; # tamano en pixels de la imagen: filas
M=195; # tamano en pixels de la imagen: columnas
for i = 1:N
for j = 1:N
AA(i,j)=A(i,j); AA(i,j)=A(i,j);
endfor
endfor
#N = sz(1);
#M= sz(2);
lambda = 600e-9;
f = 16.5e-3;
W= 4e-3;
frh = (fftshift(fft2(AA))).^2;
FR= log(abs((frh))+1);
#X = linspace(-(lambda*f*N)./(2*W),(lambda*f*N)./(2*W), N);
#Y = linspace(-(lambda*f*M)./(2*W),(lambda*f*M)./(2*W), M);
#plot(X,Y,I);
imshow(FR,[ ]);
Fenmenos pticos
Figura 5.3: Difraccion de Fraunhofer para una rendija rectangular vertical.
Figura 5.4: Difraccion de Fraunhofer para una rendija cuadrada.
Fenmenos pticos
Programa 8. Programa Fresnel: En este caso se simula la difraccin de fresnel usando Las transformadas de Fourier. Se
muestra los espectros de difraccin de fresnel para varios tipos de rendijas (figuras 5.7-5.9)
clear all
close all
#Parameters
N=512;
L=0.001;
dx=2*L/N;
[x y]=meshgrid(-L:dx:L-dx,-L:dx:L-dx);#plane1
x0=0;
y0=0;
z0=0;
[X Y]=meshgrid(-L:dx:L-dx,-L:dx:L-dx); # plane2 for fresnel prop
lambda=532*10^(-9);
k=2*pi/lambda;
#sigma=j*k/(2*z);
z=0.1; z=0.1;
z2=0.2;
%r=sqrt((x-x0).^2+(y-y0).^2+(z-z0)^2);
psi1=zeros(N);
psi1(1:512,256:512)=exp(j*k*z); #sigma ignored since its too large
F1=psi1.*exp(j*k*(x.^2+y.^2)/(2*(z2-z)));
FFT1=fftshift(fft2(F1));
F2=exp(j*k*(z2-z))*exp(j*k*(X.^2+Y.^2)/(2*(z2-z)))/(j*lambda*(z2-z));
U=FFT1;
figure(1)
I=psi1.*conj(psi1);
imagesc(I);
axis square;
colormap(gray);
figure(2)
I=U.*conj(U);
imagesc(log(abs(I))+1);
axis square;
colormap(gray);
Figura 5.8: Difraccin de Fresnel para una rendija tipo borde. a) Rendija tipo borde,
b) espectro de difraccin de Fresnel.
) b
) a
) a
) b
Fenmenos pticos
) a
) c
) b
Conclusiones
Basndose en las operaciones de transformacin de Fourier. se puede realizar el
filtrado ptico que es un procedimiento bsico para el procesado de la informacin. En
general la mayora de las tareas del procesado tales como deteccin y reconocimiento
de imgenes, tratamiento de la calidad de la imagen, reduccin de ruido, deteccin de
bordes etc., estn relacionados con el proceso de filtrado.
La FFT es una herramienta de anlisis muy potente y manejable. Constituye uno de los
mayores desarrollos en la tecnologa del tratamiento de imgenes. En la
implementacin de su algoritmo, las entradas y las salidas estn relacionadas mediante
una simple inversin de bits.
Evaluar directamente la DFT bidimensional de una imagen NxN supone efectuar N
4
Evaluar directamente la DFT bidimensional de una imagen NxN supone efectuar N
4
operaciones complejas, mientras que con la FFT, se necesitan nicamente N
2
Alog
2
N.
Se ha usado el programa Qt-Octave para realizar clculos de ptica Fourier. Este
programa a la vez que es de uso libre posee un simple lenguaje de programacin, lo cual
le permite a los permite realizar clculos numricos precisos sin necesitar atrasarse por
dificultades en las cosas especficas de los clculos numricos.
Hemos mostrado cmo simular en un ordenador personal, la imagen completa de
difraccin Fresnel y de Fraunhofer para varios tipos de rendijas: como cuadrada,
rectangular y circular.
Este tipo de simulaciones pueden suplementar un experimento de difraccin autntico
hecho en el laboratorio y de poder discutir resultados obtenidos en ambos casos.
Bibliografa:
[1] Mara Luisa Calvo Padilla, Tatiana alieva, Jose A. Rodrigo, Daniel Rodriguez Merlo,
Timour Alieva; Laboratorio Virtual de ptica, Departamento de ptica, Facultad de
Ciencias Fsicas, Universidad Complutense de Madrid.
[2] Eugene Hecht, Optica, Tercera Edicion, Addison Wesley Iberoamericana, Madrid 2000.
[3] E. Valdemar Cuevas Jimnez, Daniel Zaldivar Navarro, Visin por Computador utilizando
MatLAB Y el Toolbox de Procesamiento Digital de Imgenes
[4] Juan Jos Garca Rojo; Herramientas en GNU/Linux para estudiantes universitarios
:Gnu/Octave: clculo numrico por ordenador
[5] K.M. Abedin, M.R. Islam, A.F.M.Y. Haider, Computer simulation of Fresnel diffraction from
rectangular apertures and obstacles using the Fresnel integrals approach.
[6] S. M. Schultz, Using MATLAB to help teach Fourier optics, Deparment of Electrical and
Computer Engineering, Brigham Young University, Provo, UT USA.
[7] http://campusvirtual.uma.es/tdi/alumnos/tdi22/index.html
[8] http://www.physicsforums.com/difractionfresnel
!Gracias Totales!
Universidad Nacional de
Ingeniera UNI