Está en la página 1de 11

EL5206 Laboratorio de Inteligencia Computacional y Robtica

Laboratorio de Imgenes 1

Alumno: Profesor: Auxiliar:

Tomislav Roje Claudio Prez Alonso Astroza

27 de septiembre de 2013

Actividad 1
En esta actividad se pretende obtener una imagen binaria (de slo negros puros y blancos puros, es decir, con valores 0 255, respectivamente) de la Imagen 1 en escala de grises.

Imagen 1. Imagen Lena en escala de grises

Para esto se probaron 4 umbrales distintos (60, 120, 150 y 180), en que, componente a componente de la matriz que describe la imagen, se compara si el valor del pixel es mayor o menor que el umbral. De ser mayor, se considera como blanco, y si es menor, como negro. De esta forma se obtienen las imgenes que se ven en la Imagen 2 de la pgina siguiente. Como se puede ver en esa imagen, dependiendo del umbral escogido es hacia donde se asignan los pixeles. Con un umbral bajo, se va a tener una proporcin mayor de pixeles que se consideran como blancos, mientras que para un umbral alto, la mayora ser considerado como negro. Independiente del umbral (excepto en casos extremos como 0 o 255), siempre los ms claros sobre el umbral sern asignados al blanco, y los ms oscuros bajo el umbral a negros.

Imagen 2. Lena con distintos umbrales (60, 120,150 y 180)

Actividad 2
Se quiere hacer un estiramiento del histograma con el fin de mejorar el contraste, ya que, como se puede ver en la Imagen 3, todos los pixeles estn muy concentrados en un rango muy limitado (de 84 a 140) del histograma.

Imagen 3. Histograma original

Se genera una funcin lineal que mapea de un rango de 84 a 140 a uno de 0 a 255. Para esto, se generaron dos pares (x,y): (84,0) y (140,255) que fueron entregados a la funcin polyfit de primer orden, que entreg la siguiente funcin:

Todos los pixeles de la imagen fueron sometidos a esta funcin, con lo que se logr el estiramiento del histograma, como se puede ver en la Imagen 4.

Imagen 4. Histograma despus del estiramiento

Se ve que hay espacios intermedios entre barras, y esto se debe bsicamente a que se est trabajando con valores discretos, y lo que se hace es separar las barras entre s, sin separar entre pixeles que tienen la misma intensidad, lo que sera imposible, ya que no se tiene ms informacin por la resolucin de la discretizacin. 3

En la imagen Imagen 5 se pueden ver ambas imgenes. A simple vista no se puede apreciar mucha diferencia entre ambas, pero si se grafica la diferencia en valor absoluto de los valores de los pixeles componente a componente, como en la imagen Imagen 6, se puede ver que mientras ms diferencia entre la imagen antes y despus del estiramiento, ms claro ser ese sector. Esto porque el negro equivale a 0 e indica una igualdad antes y despus, mientras que un color ms claro, llegando al extremo del blanco, que equivale a 255, muestra la diferencia mxima, que ser imposible de lograr, ya que un punto negro (blanco) tendra que cambiar a blanco (negro).

Imagen 5. Semillas antes (izq.) y despus (der.) del estiramiento del histograma

Imagen 6. Diferencia entre antes y despus del estiramiento

Como se podra esperar, los sectores que en la imagen original tienen ms extremos de la imagen original (los ms claros y los ms oscuros) son los que ms varan, y como se ve en la Imagen 6, esos sectores son los que tienen colores ms claros. 4

Actividad 3
Se aplica la transformada de Fourier rpida en 2 dimensiones a una imagen en escala de grises que representa, justamente, a Joseph Fourier. En la Imagen 7 se puede ver la transformada luego de aplicar la funcin fftshift, que deja la componente de frecuencia cero en el centro de la matriz.

Imagen 7. Transformada de Fourier 2D (izq.) y acercamiento (der.)

En el acercamiento de la Imagen 7 se puede ver que la energa de la transformada est concentrada principalmente en las bajas frecuencias, y que en la imagen lo que predomina es lo continuo, es decir, pocas variaciones de imgenes. Como la transformada de Fourier no est limitada entre 0 y 255, sino que tiene valores mucho ms altos, lo que se hace es llevarlos todos a ese intervalo, con tal que se pueda visualizar. Lo que hace la transformacin logartmica es generar una nueva escala en que se podra decir que mejora el contraste, dando valores ms claros a los que son ms oscuros. En la Imagen 8 se puede ver esta transformacin logartmica. Solamente los que son negros puros se mantienen como negros, mientras que otros valores cercanos al negro (254, 253, etc.) se aclaran bastante, como para que al graficar, se pueda visualizar mejor todo el espectro de frecuencias, por muy baja que sea la energa en algunas de ellas. Ac se puede ver de forma clara que los cuadrantes I y III, y II y IV tienen las frecuencias replicadas.

Imagen 8. Transformada 2D de Fourier despus de la transformacin logartmica

Actividad 4
Consiste en visualizar la transformada 2D de Fourier con la transformacin logartmica para la imagen Sonnet for Lana original y rotada en 45 en el sentido antihorario.

Imagen 9. Transformada de Fourier 2D de Sonnet for Lena

En la Imagen 9 se puede ver que hay una lnea vertical que demuestra que hay informacin importante en el sentido vertical de la imagen que se debe a por cmo es la escritura en mquina, ya que todas las letras hechas en computador tienen una importante componente vertical. Tambin, y con colores ms claros an (mayor informacin), se pueden ver componentes horizontales, y eso est dado por la escritura horizontal. En la Imagen 10 se ven dos lneas en 45 y -45. Estas lneas se deben a los bordes de la imagen rotada, en que hay un cambio entre las esquinas, que quedan de color negro, y el color blanco de fondo de la imagen. La lnea a 45 en sentido antihorario, mantiene las componentes de la escritura horizontal, pero al estar rotada, se ven sobre esta lnea, paralela al sentido del soneto.

Imagen 10. Transformada 2D de Sonnet for Lena rotada

Anexos
A. Cdigo utilizado en la tarea.
close all %% Parte 1 lena=imread('lena_std.tif'); figure imagesc(lena); lena_gray = rgb2gray(lena); imagesc(lena_gray); colormap('gray'); saveas(gcf,'lena_gray','png'); figure(1) hold on for t=[60,120,150,180,210] gray=(lena_gray>t)*255; title(t) imagesc(gray); colormap('gray'); saveas(gcf,strcat('imagen_con_umbral_',int2str(t)),'png'); end hold off %% Parte 2 semillas=imread('semillas.jpg'); semillas_gray = rgb2gray(semillas); figure imagesc(semillas_gray); colormap('gray'); saveas(gcf,'semillas_antes','png'); figure histogram(semillas_gray); saveas(gcf,'hist_antes','png'); % 84 se tira a 0 y 140 a 255 x=[84,140]; y=[0,255]; a=polyfit(x,y,1); semillas_postProc=a(1)*(semillas_gray+a(2)/a(1)); figure histogram(semillas_postProc); saveas(gcf,'hist_despues','png'); figure imagesc(semillas_postProc); colormap('gray'); saveas(gcf,'semillas_despues','png'); figure imagesc(abs(double(semillas_postProc)-double(semillas_gray))); colormap('gray');

saveas(gcf,'semillas_diferencia','png'); %% Parte 3 MrFourier=imread('fourier.jpg'); % el shift pone el centro de la imagen en el centro transFourier = fftshift(fft2(MrFourier)); figure imagesc(abs(transFourier)); colormap('gray'); saveas(gcf,'MrFourier','png'); R=max(max(transFourier)); c=255/log(1+R); Q=c*log(1+transFourier); figure imagesc(abs(Q)); colormap('gray'); saveas(gcf,'MrFourier_trans','png'); %% Parte 4 son3=imread('son3.gif'); % el shift pone el centro de la imagen en el centro son3Fourier = fftshift(fft2(son3)); figure imagesc(abs(son3Fourier)); colormap('gray'); saveas(gcf,'son3_fft','png'); R=max(max(son3Fourier)); c=255/log(1+R); Q=c*log(1+son3Fourier); figure imagesc(abs(Q)); colormap('gray'); saveas(gcf,'son3_fft_trans','png'); rotada = rotate_image(45,double(son3)); rotadaFourier = fftshift(fft2(rotada)); figure imagesc(abs(rotadaFourier)); colormap('gray'); saveas(gcf,'son3_rot_fft','png'); R=max(max(rotadaFourier)); c=255/log(1+R); Qrot=c*log(1+rotadaFourier); figure imagesc(abs(Qrot)); colormap('gray'); saveas(gcf,'son3_rot_fft_trans','png');

10

También podría gustarte