Vous êtes sur la page 1sur 9

Pontifica Universidad Catlica del Per

Ingeniera Mecatrnica 2014-1



LABORATORIO DE PROCESAMIENTO DE SEALES
E IMGENES DIGITALES- IEE239


Laboratorio: 4 Semestre: 2014 I

TEMA: Transformacin de intensidad y Ecualizacin


Partes DESCRIPCIN DURACIN PUNTAJE
1 Prueba de Entrada 30 min 6 ptos
2 Ejercicios de Laboratorio 2 h 20 min 8 ptos
3 Problema Prctico 1 h 6 ptos

Prueba de Entrada (6 pts.)
La prueba terica se realizar en el laboratorio mediante preguntas. Durante esta prueba terica
se prohbe el uso del correo, internet y celulares.

Ejercicios de Laboratorio (8 pts.)
Desarrollar las experiencias de laboratorio propuestas en sta gua. Al final del laboratorio cada
alumno debe subir a intranet un archivo de texto L1_codigo.m. En la carpeta correspondiente.
Antes de las 10:00pm. Cualquier archivo subido despus de la hora indicada no ser
considerado.

Problema Prctico (6 pts.)
Desarrollar la aplicacin propuesta. Al final del laboratorio cada alumno debe subir a intranet un
archivo de texto P1_codigo.m. En la carpeta correspondiente. Antes de las 10:00pm.
Cualquier archivo subido despus de la hora indicada no ser considerado.

Advertencia
El desarrollo de las actividades contenidas en esta gua es de carcter estrictamente personal.
Cualquier falta de probidad (plagio) que a criterio del Jefe de Prctica sea cometida, ser
sancionada con la nota CERO no anulable para todos los involucrados, y una sancin
disciplinaria.

Importante
Guarde todos sus programas en su memoria USB, a fin de evitar perdidas de informacin, en
caso se reinicie la computadora.















Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1


1. Introduccin al procesamiento de imgenes en Matlab:

Las imgenes son seales digitales bidimensionales obtenidas a travs de un proceso que
implica: (1) una parte ptica y (2) una parte electrnica. Dentro de la parte electrnica, es el
sensor de imagen quien se encarga de la adquisicin de la informacin lumnica que pasa a
travs de lentes de enfoque. Este sensor es un conjunto de pequeos sensores llamados
pxeles de dimensiones en el orden de los micrmetros y que convierten la luz en una seal
elctrica que luego es digitalizada por un conversor anlogo digital. En la figura 1 se aprecia un
esquema general para el sensor de imagen KAC-9618 (Kodak). Este esquema ocurre, con
ligeras variaciones en las cmaras de fotos y de los celulares actuales.


Figura 1. Esquema general de la adquisicin de imagen. [2]

Los sensores de imagen pueden ser monocromticos y darnos una seal en escala de grises o
de colores y darnos informacin principalmente en el rango visible (rojo, verde y azul, RGB).

En el programa MATLAB una imagen estar contenida en un arreglo bidimensional si est en
escala de grises o en tres arreglos bidimensionales si es a colores, cada uno con la informacin
de una capa de cierta longitud de onda (

= 660um,

= 560um,

= 500um).

La imagen es ubicada segn la orientacin mostrada en la fig. 2. As, las filas se encuentran en
el eje X y las columnas en el eje Y.



Figura 2. Orientacin del plano de coordenadas utilizado en MATLAB. [1]



Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1


1.1 Lectura de imgenes

Para la lectura de una imagen se utiliza el comando imread. El parmetro de entrada es la
ubicacin del archivo el cual puede tener formato jpg, bmp, tiff, entre otros. Una imagen en
escala de grises como ejem1.jpg dar la siguiente informacin al usar los comandos size y
whos.


>> I = imread('ejem1.jpg');
>> size(I)
ans = 500 500
>> whos I
Name Size Bytes Class
I 500x500 250000 uint8


En este caso, se indica que la informacin de un pxel est almacenada en un byte (uint8), es
decir, puede tener 256 valores distintos de intensidad.

* En este laboratorio adems de la lectura, se utilizar la escritura de imgenes que es
realizada con el comando imwrite, usar el comando help para analizar los parmetros.


1.2 Visualizacin de imgenes
Para la visualizacin de las imgenes se utiliza el comando imshow. Se muestra as la imagen
en tamao real, si la imagen es demasiado grande para ser mostrada esta es automticamente
reducida en un porcentaje para que pueda ser visualizada en la pantalla.


figure, imshow(I),




Figura 3. Resultado comando imshow.


Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1



1.3 Operaciones con imgenes

Al trabajar con el software MATLAB, las imgenes son almacenadas en arreglos cuyos datos
pueden ser fcilmente extrados, asimismo puede ser parte de operaciones matemticas.

Una de las operaciones comunes es la conversin de una imagen a colores en escala de grises,
para ello se utiliza la siguiente frmula:






Figura 4. Resultado escala de grises.


Para acceder a cada capa de una imagen de color se sigue el siguiente cdigo:

I = imread('ejem2_7M2.jpg');
Ired = I(:,:,1) %Red Layer
Igreen = I(:,:,2) %Green Layer
Iblue = I(:,:,3) %Blue Layer



2. Histograma de una imagen

El histograma de una imagen digital es una funcin definida por:



Donde

es el k-simo nivel de intensidad cuyo rango pertenece [0,

] y

es el nmero
de pixeles en la imagen con nivel de intensidad

. En nuestro caso, por trabajar con imgenes


cuyos datos puntuales estn representados por 1 byte (8bits), el valor de

= 255.

Mayormente es necesario trabajar con el histograma normalizado (ser til en este
laboratorio) y se consigue con la siguiente formula:


Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1


En la siguiente grfica se presenta el resultado de hallar el histograma y el histograma
normalizado de una imagen de prueba (Figura 3).



Figura 5. Histograma e histograma normalizado de la figura 3.

Para hallar el histograma y el histograma normalizado se utiliza el siguiente pseudocdigo.

I, % Imagen es escala de grises
[F,C] = size(I); % F = cantidad de filas, C = cantidad de columnas
hist = zeros(1,256); %Inicializo vector histograma
Para ff de 1 a F
Para cc de 1 a C
hist(1, (Valor de I en ff,cc)) = hist(1,(Valor de I en ff,cc))+1;
fin Para
fin Para

% Recordar que en MATLAB un vector no puede recibir como argumento el valor
% 0, histograma(0) generar un error.

Nhist = hist/(Total Filas * Total Columnas);



3. Funciones de transformacin de intensidad

Dentro del procesamiento de imgenes es muy til realizar transformaciones de intensidad
que permitan mejorar el contraste de una imagen, obtener la inversa (o complemento a 255),
entre otros efectos.

Se define la ecuacin:

Donde:
r es una intensidad de una imagen de entrada en el rango de [0,255]
T es la funcin de transformacin.
s es la intensidad de la imagen de salida en el rango de [0,255]
Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1

* En nuestro caso trabajamos con pixeles definidos por 8 bits por lo tanto los valores de
intensidad quedan definidos dentro de [0,255] siendo 0 el color negro, 255 el color blanco y los
valores intermedios estn dados por una escala de grises.


Figura 6. Funcin de transformacin de intensidad gamma.


En este laboratorio las transformaciones se utilizar la funcin de transformacin gamma
expuesta en la figura 6 cuya formulacin est en la ecuacin () y el pseudocdigo en MATLAB
se muestra en recuadro siguiente.





Donde:
r es la intensidad de un pxel de la imagen de entrada.
s es la intensidad transformada de un pxel de la imagen de salida.
LI low_input
HI high_input
LO low_output
HO low_output
g gamma


I, %Imagen en escala de grises
[F,C] = size(I)
LI = ; % Low input
HI = ; % High input
LO = ; % Low output
HO = ; % High output
gamma = ; % gamma
Isalida = zeros(F,C);
I = double(I); % Double para realizar operaciones matemticas

Para j de 1 a F
Para i de 1 a C
Isalida(j,i) = redondear(T(I(j,i))); % T definda en la ecuacin( )
fin Para
fin Para

figure,imshow(uint8(I))
figure,imshow(uint8(Isalida))



Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1

4. Ecualizacin de Histograma

La ecualizacin de histograma es una transformacin de intensidad de imgenes dominada por
las siguientes ecuaciones.



Bsicamente, las frmulas indican que la funcin de transformacin a utilizar es la funcin de
suma acumulada de la funcin histograma normalizado. Esta transformacin genera una
imagen con un incremento en el rango dinmico, es decir que se tendr mayor cantidad de
diferentes valores de pixeles o intensidades. En resumen, el contraste mejorar. El
procedimiento para hallar la funcin de ecualizacin de histograma se grafica con las
siguientes figuras.






Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1




I, %imagen en escala de grises
hnorm = histogramaNormalizado(I); %Histograma/Cantidad total de pixeles
cdf = cumsum(hnorm); %Suma acumulada de hnorm
Inew = zeros(size(I)); %Inew es la salida de la transformacion
[F,C] = size(Inew);
I = double(I);
Para i de 1 a F
Para j de 1 a C
Inew(i,j) = redondear(cdf(I(i,j)+1)*255);
fin Para
fin Para
Inew = uint8(Inew);




5. Fuentes
[1] Rafael Gonzalez et al, Digital Image Processing using Matlab, 2004
[2] Kodak Datashhet, Kodak KAC-9618 CMOS IMAGE SENSOR, Septiembre 2004






















Pontifica Universidad Catlica del Per
Ingeniera Mecatrnica 2014-1





PREGUNTAS LABORATORIO

1. Utilice la imagen a colores ejem3_7M2.jpg y halle la escala de grises utilizando la ecuacin
(1), muestre la imagen original y la resultante utilizando el comando imshow.

2. Utilice la imagen ejem3_7M2.jpg y convirtala en escala de grises. Realice la
implementacin del pseudocdigo para hallar el histograma e histograma normalizado,
muestre las imgenes y comente su resultado.

3. Utilice la imagen ejem3_7M2.jpg use la capa verde.
Realice la implementacin del pseudocdigo para hallar la funcin de transformacin
propuesto.
Utilice valores [HI=255,LI=0,HO=255,LO=0, g=0.3] [HI=255,LI=0,HO=255,LO=0, g=3]
[HI=128,LI=0,HO=255,LO=128, g=1]
Realice el histograma de cada imagen resultante. Comente las diferencias
encontradas.
Para el ltimo caso: [HI=128,LI=0,HO=255,LO=128, g=1] utilice el comando imadjust y
compare visualmente si los resultados tienen o no diferencia.
Que combinacin utilizara para incrementar el contraste. Elija valores de gamma,
HI,LI,HO,LO adecuados y fundamente su respuesta.


4. Utilice la imagen ejem2_7M2.jpg obtenga la imagen en escala de grises.
Realice la implementacin del pseudocdigo para hallar la ecualizacin de histograma
propuesto.
Muestre las imgenes originales y finales, las grficas de histograma inicial y final y la
funcin de transformacin.
Utilice el comando histeq y compare sus resultados.

Vous aimerez peut-être aussi