1. Práctica N°2: Transformada Discreta de Fourier en Imágenes 1
Resumen— En este informe se realizará una
introducción al procesamiento de imágenes en el dominio
de la frecuencia a través de MATLAB® y a partir de la
transformada discreta de Fourier. Para esto se estudiará la
función “meshgrid” de MATLAB® con la que se podrá
generar un espacio de dos dimensiones a partir de uno de
tres, de esta forma se generarán figuras geométricas en
blanco negro que servirán de muestras para la
observación de su correspondiente transformada de
Fourier y realizar las comparaciones pertinentes. Los
resultados obtenidos se presentaran en ventanas de seis
imágenes.
Palabras Claves—Transformada Discreta de Fourier
bidimensional.
Abstract— In this paper an introduction to digital image
processing in the frequency domain is done through
MATLAB® and from de DFT. For this the "meshgrid"
MATLAB ® function with which you can generate a two-
dimensional space from one of three geometric figures
thus be generated in black and white to as samples for
observation of their corresponding study Fourier
transform and make relevant comparisons. The results
obtained are presented in windows of six images.
Keywords—2D Discrete Fourier transform.
I. INTRODUCCIÓN
El procesamiento digital de imágenes en el dominio de la
frecuencia se ha convertido en un factor de gran importancia
en la era de la tecnología donde la transmisión de imágenes es
un punto clave en la evolución de las comunicaciones y un
gran soporte en el área de telemedicina; Por estas razones es
necesario realizar un estudio que permita reconocer los
posibles usos de este procedimiento (DFT2) en la
modificación de las características de una imagen.
En el presente informe se presentará una introducción al
procesamiento de imágenes en el dominio de la frecuencia con
el objetivo de observar los principales cambios y datos que
puede aportar, determinar qué tipo de pérdidas se presentan en
cuanto a la información de la imagen, y deducir los posibles
usos de la transformada de Fourier para la manipulación de las
imágenes.
II. MARCO TEÓRICO
A. Transformada de Fourier Bidimensional [1]
La transformada Discreta de Fourier en dos dimensiones se
define como:
𝑋[ 𝑘1, 𝑘2
] = ∑ ∑ 𝑥[ 𝑚, 𝑛] 𝑒
−𝑗
2𝜋
𝑁
( 𝑘1 𝑚+𝑘2 𝑛)
𝑁−1
𝑛=0
𝑁−1
𝑚=0
(1)
Transformada inversa:
𝑥[ 𝑚, 𝑛] =
1
𝑁2
∑ ∑ 𝑋[ 𝑘1, 𝑘2
] 𝑒
−𝑗
2𝜋
𝑁
( 𝑘1 𝑚+𝑘2 𝑛)
𝑁−1
𝑘2=0
𝑁−1
𝑘1 =0
(2)
La DFT se puede aplicar en el filtrado de imágenes, en la
implementación de algoritmos rápidos y en problemas de
análisis de imágenes.
La Magnitud de la transformada está dada por:
𝑋 𝑀
( 𝑘1, 𝑘2
) = √𝑋𝑅
( 𝑘1, 𝑘2
)2 + 𝑋𝐼
( 𝑘1, 𝑘2
)2 (3)
La fase de la transformada e expresa como:
∅(𝑘1, 𝑘2 ) = tan−1 (
𝑋𝐼
( 𝑘1, 𝑘2
)
𝑋𝑅
( 𝑘1, 𝑘2
)
) (4)
En la DFT-2D aplicada a una imagen, representada como una
matriz, la variable en los dos ejes es el espacio. Esto implica
que la variable frecuencia se asocia a las periodicidades
espaciales que aparecen en la imagen. La frecuencia espacial
tiene unidades de (1/m).
La figura 1 muestra la forma en que opera la transformada de
Fourier bidimensional.
Práctica N°2: Transformada Discreta de
Fourier en Imágenes
Barragán P. Andrés, Guzmán S. Dayana.
Universidad Distrital Francisco José de Caldas.
2. Práctica N°2: Transformada Discreta de Fourier en Imágenes 2
Figura 1. Ejemplo grafico del procedimiento en la
transformada de Fourier Discreta Bidimensional.
F(ω1, ω2) es la representación en el dominio de la
frecuencia de f(m,n) .
Las variables ω1 y ω2 son variables continuas que
expresan frecuencia (cambios en la variables
espaciales m y n) .
F(ω1, ω2) es una función periódica1 de periodo 2π,
tanto en ω1 como en ω2 .
III. DESARROLLO DE LA PRÁCTICA
En función de analizar la DFT para imágenes, se generan
primero tres imágenes con figuras geométricas clásicas en
blanco y negro, luego se utiliza una imagen a color para
observar el efecto al aplicarles la DFT, y analizar los
resultados observados.
A. Transformada Discreta de Fourieren imágenes a
blanco y negro.
Fue necesario implementar en MATLAB® un código para
generar las imágenes con las figuras geométricas requeridas.
1. Para generar una imagen en blanco y negro con un circulo
en el centro, se implementó el siguiente código:
%espacio 2D para imagen de tamaño 401x401
[x,y]=meshgrid(-100:0.5:100,-100:.5:100);
%% imagen del circulo
S=x.^2+y.^2; %paraboloide circular
r = 40; %radio del circulo
Y=S<r^2*ones(size(S));
%plano de corte para extraer el círculo
circ = 255*Y;
%nivel de gris del círculo, blanco = 255
circ_uint8 = uint8(circ);
%cambio del tipo de dato
La matriz circ_uint8 almacena los valores en niveles de
gris de la imagen del círculo.
2. Para generar una imagen en blanco y negro con un rombo
en el centro, se implementó el siguiente código:
%espacio 2D para imagen de tamaño 401x401
[x,y]=meshgrid(-100:0.5:100,-100:.5:100);
%% imagen del rombo
S=abs(x)+abs(y); %pirámide invertida
l = 50; %altura del plano de corte
Y=S<l*ones(size(S));
%plano de corte para extraer el rombo
rombo = 255*Y; %nivel de gris del rombo
rombo_uint8 = uint8(rombo);
%cambio del tipo de dato
La matriz rombo_uint8 almacena los valores en niveles de
gris de la imagen del rombo.
3. Para generar una imagen en blanco y negro con un
cuadrado en el centro, se implementó el siguiente código:
%espacio 2D para imagen de tamaño 401x401
[x,y]=meshgrid(-100:0.5:100,-100:.5:100);
%% imagen del cuadrado
S=max(abs(x),abs(y)); %piramide invertida
l = 40; %altura del plano de corte
Y=S<l*ones(size(S));
%plano de corte para extraer el cuadrado
cuad = 255*Y; %nivel de gris del cuadrado
cuad_uint8 = uint8(cuad);
%cambio del tipo de dato
La matriz cuad_uint8 almacena los valores en niveles de
gris de la imagen del cuadrado.
4. Hallarle la DFT a las imágenes anteriores.
Para obtenery visualizar la DFT de las imágenes es
necesario realizar la DFT en 2 dimensiones, centrar el
espectro obtenido y determinar las frecuencias, en
MATLAB® se utilizan las siguientes líneas de código:
%% transformadas DFT
f = rombo_uint8; %imagen a transformar
F = fft2(f); %DFT-2D de imagen
3. Práctica N°2: Transformada Discreta de Fourier en Imágenes 3
Fc = fftshift(F); %centrado del espectro
S = log(1+abs(Fc)); %espectro en log
S1 = ifftshift(Fc); %obtención de
S2 = ifftshift(F); %obtención de
ft = uint8(real(ifft2(F)));
%parte real de imagen
5. Mostrar todas las imágenes obtenidas en una sola ventana.
Por último se procede a tomar las imágenes obtenidas y
mostrarlas en una ventana ubicadas de un cuadro de 2x3,
esto se logra con el comando subplot cuya función es
precisamente, ubicar varias imágenes en un mismo
espacio, Así es posible analizar los resultados mejor.
El código implementado es el siguiente:
%% imágenes
figure(1), subplot(231), imshow(f),
title('Imagen Original');
figure(1), subplot(232), imshow(abs(F),[0
100000]), title('magnitud de la DFT');
figure(1), subplot(233),
imshow(abs(Fc),[0 100000]),
title('magnitud de la DFT centrada');
figure(1), subplot(234),
imshow(real(S1),[0 255]), title('imagen
con log sin centrar');
figure(1), subplot(235),
imshow(real(S2),[0 255]), title('imagen
con log centrada');
figure(1), subplot(236), imshow(ft),
title('Parte real de IDFT');
B. Transformada Discreta de Fourieren una imagen a
color
1. Obtener una imagen a color, para realizar un análisis
espectral con una imagen con muchos cambios de color se
importa una imagen a la ventana de trabajo de
MATLAB®.
%% imagen a color
V=imread('C:UsersandresDownloadsFlowe
r-Feld.jpg'); %obtención de la imagen
V_gr=rgb2gray(V); %imagen en grises
2. Para realizar el análisis de la DFT-2D se utiliza el mismo
código y procedimiento que fue descrito en la parte A.4. y
A.5.
IV. RESULTADOS
Nota: Debido al tamaño de las imágenes Obtenidas, se
presentan en la sección de Anexos
El resultado obtenido, para la imagen del círculo es el
mostrado en la figura 2.
El resultado obtenido, para la imagen del rombo es el
mostrado en la figura 3.
El resultado obtenido, para la imagen del cuadrado es el
mostrado en la figura 4,
El resultado obtenido, para la imagen a color es el mostrado en
la figura 5.
V. ANÁLISIS DE RESULTADOS
Varias características pueden observarse en las imágenes
relacionadas con las transformadas de las figuras geométricas.
En la imagen con el círculo, puede observarse que la
magnitud de la DFT tiende a concentrar sus valores máximos
en el centro del espectro, mientras que en figuras con vértices
como el rombo y el cuadrado, la magnitud de la DFT tiende a
concentrarse en unas líneas que atraviesan el espectro de la
DFT.
Las tres imágenes de figuras geométricas tienen cambios
bruscos de luminancia, si se observan las imágenes de la DFT
logarítmicas pueden apreciarse unas líneas en donde la
concentración de frecuencias altas de la imagen se presentan.
En el círculo la concentración de frecuencias altas es más
definida, mientras que en las otras dos figuras la concentración
es más tenue, esto indica que el cuadrado y el rombo tienen
más componentes de frecuencia en su espectro, es decir, la
densidad espectral de potencia está más distribuida.
Así, la imagen del cuadrado es la que tiene su potencia más
distribuida, mientras que la imagen del círculo, tiene la mayor
parte de su potencia concentrada en una banda de frecuencias
más pequeña.
VI. CONCLUSIONES
La Transformada de Fourier de una función representa el
espectro o distribución de frecuencias de la misma, a partir de
esta afirmación se puede decir que las figuras geométricas
tienen altas frecuencias debido a los cambios bruscos
representados en su transformada, caso contrario a la imagen
en escala de grises donde se aprecian variaciones más suaves
de modo que estaríamos frente a la representación de bajas
frecuencias.
El procesamiento de imágenes en el dominio de la frecuencia
permite realizar procedimiento de filtrado o cambios de
tonalidades ya que al intervenir en los componentes
frecuenciales es posible minimizar o aumentar los cambios
presentados en la imagen.
BIBLIOGRAFÍA
[1] R.C. Gonzalez, R. E Woods,S. L. Eddins. “Digital Image
Processing Using MATLAB®”. Gatesmark, LLC. Estados
Unidos. 2009. pag 75,77.
[3] Mathworks, Image Processing Toolbox,Página oficial de
MathWorks [online], 25 de febrero de 2014, disponible en
http://www.mathworks.com/products/image/description2.html
4. Práctica N°2: Transformada Discreta de Fourier en Imágenes 4
ANEXOS
Figura 2. DFT para imagen de círculo en blanco y negro.
Figura 3. DFT para imagen de rombo en blanco y negro.
5. Práctica N°2: Transformada Discreta de Fourier en Imágenes 5
.
Figura 4. DFT para imagen de cuadrado en blanco y negro.
Figura 5. DFT para imagen a color en blanco y negro.