Professional Documents
Culture Documents
Laboratorio de Imgenes 1
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.
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.
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.
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.
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
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.
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.
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.
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.
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