1. TAREA #1 1
Resumen— En este informe se mostrará una
recopilación de los resultados de los
procedimientos vistos para las primeras sesiones de
la materia de procesamiento digital de Imágenes,
utilizando MATLAB®. Para ello, se importarán dos
imágenes, una con alto contraste y una con bajo
contraste, se mostraran en escala de grises, se
hallará su complemento, se mostraran los
resultados de la DFT y además de mostrará el
histograma y su correspondiente ecualización
buscando el mejoramiento de la imagen utilizando la
función Gamma.
Palabras Claves— escala de grises, complemento,
DFT, histograma, ecualización.
Abstract--- In this report, a compilation of the
results of procedures seen for the first sessions of
the art Digital Image Processing using MATLAB ®
displays. To do this, two images, one with high
contrast and low contrast are imported, will be
shown in gray scale, its complement will be found,
the results of the DFT will be shown and displayed
along with its corresponding histogram equalization
and seeking to improve image using the Gamma
function.
Keywords-grayscale, add, DFT, histogram,
equalization.
I. INTRODUCCIÓN
El procesamiento de imágenes permite realizar la
modificación de las características y algunas propiedades de la
imagen para mejorarla de forma que pueda ser más agradable
al observador y se pueda reconocer mejor la información que
esta quiere representar. Existe la posibilidad de realizar
modificaciones de sus características física como brillo,
tonalidad, saturación o contraste y también es posible trabajar
con la información en otro dominios como la frecuencia, que
contribuye a hacer cierto tipo de actividades de
reconocimiento y prepara a la imagen para algún tipo de
clasificación.
El presente informe mostrará el tratamiento realizado a dos
imágenes utilizando los métodos vistos anteriormente en clase.
II. MARCO TEÓRICO
A. Adquisición de imágenes en MATLAB®
En MATLAB® hay diferentes formas de representar una
imagen, si es monocromática se representa en un arreglo de (N
x M), si es a color, puede representarse en un arreglo de (N x
M x 3) si es RGB ó (N x M x 4) si es CMYK.
Se hace uso de la función imread para importar imágenes a
la ventana de trabajo de MATLAB®.[1]
B. Sistemas de color de imágenes
El sistema de color de niveles de grises suele utilizarse para
imágenes monocromáticas en el cual se representan los niveles
de intensidad de la imagen.
Las imágenes a color se forman al combinar diferentes
imágenes individuales de características especiales, el sistema
de color clásico más utilizado es el sistema RGB de la ICC, en
donde una imagen a color se conforma de tres imágenes
monocromáticas individuales, denominadas como las
componentes primarias, rojo (R), verde (G) y azul (B). Es por
esta razón, que varias de las técnicas de procesamiento
desarrolladas para imágenes monocromáticas, pueden ser
extendidas a imágenes a color al procesar cada componente
RGB individualmente.[2][3]
C. Transformada de Fourier Bidimensional [2]
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)
D. Histograma de imágenes
El histograma de una imagen representa la frecuencia relativa
de los niveles de gris de la imagen. Las técnicas de
modificación del histograma de una imagen son útiles para
Tarea N°1
Barragán P. Andrés, Guzmán S. Dayana.
Universidad Distrital Francisco José de Caldas.
2. TAREA #1 2
aumentar el contraste de imágenes con histogramas muy
concentrados.[2]
E. Función Gamma
La corrección a través de la función Gamma de imágenes es
necesaria para compensar ciertas propiedades de la visión
humana, con el fin de maximizar el ancho de banda en bits
relativo a cómo el ser humano percibe la luz y el color.
La visión humana bajo condiciones habituales de iluminación
sigue aproximadamente una función de potencia tipo gamma.
Si las imágenes no tienen un contraste adecuado, se utiliza la
función no lineal gamma para corregir los niveles de gris de la
imagen de acuerdo a los niveles de la imagen. La curvatura
que describe la función gamma permite corregir diferentes
tipos de mal contraste, esto es bajo contraste concentrado en
niveles bajos o bajo contraste concentrado en niveles altos [4].
Figura 1. Función gamma para ecualización
III. DESARROLLO DE LA PRÁCTICA
La práctica se realizó utilizando el programa MATLAB a
partir de las siguientes instrucciones.
1. Cargar una imagen en MATLAB. Para cumplir con
este punto se utilizó la instrucción de MATLAB
“imread” como se muestra a continuación:
V=imread('C:UsersPCDocumentsPDIla
bsfoto1.jpg');
V es el nombre asignado a la matriz en la que se cargarán
los valores de la imagen.
2. Obtener la imagen en escala de grises. La instrucción
utilizada en este caso fué rgb2gray, este comando
toma la imagen y obtiene sus diferentes niveles de
gris asignándolos a una nueva matriz que para este
caso fue llamada V_gr. La línea de código
correspondiente es:
V_gr=rgb2gray(V);
V_gr es el nombre asignado a la matriz en la que se
cargaran los valores correspondientes a la intensidad de
cada uno de los pixeles de la imagen.
3. Visualizar las dos imágenes anteriores en una
ventana.
subplot(1,2,1),imshow(V);title('Origin
al')
subplot(1,2,2);imshow(V_gr);title('Gri
s')
4. Obtener la imagen complementaria de la imagen
original y visualizarla en una ventana. Para este punto
se hace uso del comando “imcomplement” de la
siguiente manera:
C=imcomplement(V);
imshow(C);
5. Hallarle la DFT a las imágenes anteriores.
Para obtener y visualizar la DFT de las imágenes es
necesario realizar la DFT en 2 dimensiones, centrar el
espectro obtenido y determinar las frecuencias y mostrar
todas la imágenes en una sola ventana, 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
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
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');
6. Realizar el histograma con la
imagen en escala de grises y
mostrar el resultado en una figura.
3. TAREA #1 3
b = 256;
figure(3),subplot(212),imhist(V_gr,b);
figure(3),subplot(211), imshow(f);
7. Realizar la ecualización del
histograma mediante la función
Gamma y mostrarla en una figura.
j = imadjust(V_gr,[0 1],[0 1],0.9);
figure(4),subplot(211),imshow(j);
figure(4),subplot(212),imhist(j,b);
(a)
(b)
Figura 2. Resultado para las imágenes pasadas a escala de
grises; a. Imagen con alto contraste, b. imagen con bajo
contraste.
Figura 3.Resultado para el complemento de la imagen con
alto contraste, original y en escala de grises.
Figura 4. Resultado para el complemento de la imagen en
bajo contraste, original y en escala de grises.
Nota: Las siguientes imágenes se encuentran en anexos para
visualizar mejor los resultados de la práctica.
IV. ANÁLISIS DE RESULTADOS
Al visualizar los complementos de las imágenes se puede
observar que funcionan efectivamente como el negativo de la
foto además se puede ver un efecto en que el que se invierte el
contraste así la imagen con bajo contraste genera un
complemento con alto contraste. En el caso de la transformada
de Fourier es difícil determinar los cambios sin embargo se
puede ver que la distribución de los puntos en esa
transformada tiene cambios que no son suaves, esto puede
deberse al contraste de la imagen.
En cuanto a la ecualización con la función Gamma en
MATLAB® se logra obtener una mejor calidad de la imagen
cuando se tiene un factor de 0,3 para el caso de la imagen con
bajo contraste y 0,9 para la imagen con alto contraste, aunque
mejora, se puede ver que el cambio es más significativo en la
imagen con el menor factor.
V. CONCLUSIONES
La imagen en escala de grises representa la cantidad de blanco
que posee una imagen, en este caso RGB, al hacer esta
transformación MATLAB ® elimina el tono y la saturación de
cada uno de los pixeles, por tanto, se presenta una pérdida
considerable de información.
El complemento de una imagen actúa como el negativo de la
misma pues representa la cantidad de blanco que le faltaría a
la imagen original para alcanzar un nivel máximo de
luminancia.
La Transformada de Fourier de una función representa el
espectro o distribución de frecuencias de la misma.
La ecualización de imágenes permite mejorar sus cualidades y
balancear la concentración de cada uno de los colores que
presente para lograr una imagen de mejor calidad, este
procedimiento permite realizar un acercamiento al
reconocimiento de bordes de objetos en la imágenes como una
aplicación importante en el análisis y procesamiento de
imágenes.
4. TAREA #1 4
BIBLIOGRAFIA
[1] Image Processing Toolbox, Página oficial de MathWorks
[online], 25 de febrero de 2014, disponible en
http://www.mathworks.com/products/image/description2.html
[2] R.C. Gonzalez, R. E Woods,S. L. Eddins. “Digital
Image Processing Using MATLAB®”. Gatesmark, LLC.
Estados Unidos. 2009. pag 13, 14
[3] G. Blanchet, M. Charbit. “Digital Signal and Image
Processing using MATLAB®”. ITSE Ltd. Gran Bretaña. 2006.
Pag 187-192.
[4]Buchsbaum, Walter H. “Color TV Servicing”, 3 edición.
Englewood Cliffs, NJ: Prentice Hall, 1975.
5. TAREA #1 5
ANEXOS
Figura 5.Transformada de Fourier para la imagen con alto contraste.
Figura 6.. Transformada de Fourier para la imagen con bajo contraste.
6. TAREA #1 6
Figura 7.Histograma para la imagen con alto contraste.
Figura 8.Histograma para la imagen con bajo contraste.
7. TAREA #1 7
Figura 9. Ecualización para la imagen con alto contraste.
Figura 10. Ecualización de Fourier para la imagen con bajo contraste.