Tarea # 1: Conceptos b´ asicos asicos de DSP IPD-414: IPD-414: Seminario Seminario de Procesamien Procesamiento to Digital de Se˜ nales nales Oswaldo Oswa ldo An´ıbal ıba l Men´endez ende z Granizo Gran izo 11 de Noviembre de 2015
1
Mani Manipu pula laci ci´ on o ´n Simple Simpl e de Im´ agenes agene s
Lea en MATLAB la imagen yacht.tif utilizando utilizando A=imread(’yatch.tif’). A=imread(’yatch.tif’). Para Para que pueda realizar realizar manipumanipulaciones en esta imagen en MATLAB, aseg´urese urese que todas sus im´agenes agenes sean representadas como matrices de B=double(A). elementos en punto flotante utilizando B=double(A). a.- Grafique Grafique la imagen imagen utilizando el comando image comando image de de MATLAB. Para mantener el aspecto original de la imagen, aseg´ urese que el mapa de colores sea en una escala de grises utilizando colormap(gray(256)) urese colormap(gray(256)) y y que los pixeles sean representados como cuadrados utilizando el comando axis image. image. Genere un negativo de la imagen invirtiendo el blanco por el negro y de igual forma con sus tonos intermedios. Note que esta transformaci´ on on correspon corresponde de a restar restar:: 255 menos menos la matriz matriz de la ima imagen gen.. Escrib Escribaa la imagen imagen result resultan ante te con el nombre yacht inv.jpg en formato JPG utilizando el comando imwrite(A,map,filename,fm imwrite(A,map,filename,fmt) t) y definiendo el mapa de colores adecuadamente.
(a) Imagen Original
(b) Negativo Imagen
Figure 1: Comparaci´on on entre entre imagen imagen original original yacht.tif y negativo imagen yacht inv.jpg Se observa que al realizar la transformaci´on on de la imagen mediante la diferencia entre 255 y cada pixel de la matriz se observa que la imagen resultante es el negativo de la imagen original, es decir cada pixel de la imagen resultante resultante es el complemen complemento to de los pixeles imagen original. original. Los resultados resultados se presenta presentan n en la Figura 1. Esto es consecuencia de que en n´umeros umeros binarios si un sumamos un n´umero umero binario A binario A de 8bits con su complemento se obtiene como resultado A + A = 111111112 = 25510 de donde despejando se tiene que A que A = 111111112 − A. ∗
∗
b.- Tomando omando una porci´on on de 150 × 150 pixeles del centro de la imagen original, genere un mosaico de 2 × 2 que contenga la imagen original, y rotaciones hacia la izquierda en 90 , 180 y 270 . Escrib Escribaa la ima imagen gen resultante como yacht mosaic.bmp de igual forma que la anterior. anterior. Puede usar los comandos comandos de MA MATLAB TLAB transpose, flipud, fliplr. fliplr. ◦
◦
◦
Se procede procede a realizar realizar el ejercicio ejercicio en base a dos t´ecnicas ecnicas diferent diferentes, es, la primera primera se basa en la utilizaci´ utilizaci´on on de los fliplr y la segunda en base al comando comandos de MATLAB propuesto en el enunciado transpose, enunciado transpose, flipud, fliplr y
1
(a) Comandos: transpose, flipud, fli-
(b) Comandos: rot90
plr
Figure 2: Imagen Mosaico de porci´on central 150 × 150 de la imagen yacht.tif , la imagen mosaico es almacenada en yacht mosaic Table 1: Porciones de imagen para Composici´on de la imagen mosaico. Ubicaci´ o n en Imagen Rotaci´ on Antihorario Superior Izquierdo 0 Superior Derecho 90 Inferior Izquierdo 180 Inferior Derecho 270 ◦
◦
◦
◦
rot90. En la Figura 2 se presentan los resultados de ambas t´ecnicas pudiendo observar resultados iguales para ambos casos. El mosaico de la imagen se compone de acuerdo a la Tabla 1. El comando usado para realizar las rotaciones funciona: rot90(A,n): Rota n veces 90 la matriz deseada en sentido antihorario. ◦
Mientras que los comandos propuestos por el enunciado fuuncionan: flipud(A): Voltea la matriz de arriba para abajo. fliplr(A): Voltea la matriz de izquierda a derecha. transpose(A): Transpone la matriz
2
Histograma, Brillo y Contraste a.- Lea en MATLAB la imagen yatch.tif y calcule su histograma utilizando los comandos de MATLAB size, reshape e hist. Grafique el histograma y denote los ejes claramente. El histograma de una imagen es una herramienta fundamental para el an´alisis de im´ agenes digitales, la cual es una representaci´on gr´afica de la frecuencia con la que los niveles de gris aparecen en ella. Se procede a realizar el histograma de la imagen mediante dos m´etodos, el primero se basa en las funciones de MATLAB propuestas en el enunciado, mientras que le otro m´etodo se basa en la utilizaci´on del comando imhist para comparar los resultados. En el primer caso es necesario observar que la funci´on size se utiliza para obtener la dimensiones de la imagen, despu´es con el comando reshape se transforma la imagen de una matriz de dimensi´on M × N a un vector de dimensi´on M N × 1, esto se debe a que el comando hist requiere los valores de los pixeles de la imagen orientados en un vector columna o fila, finalmente se usa la sintaxis hist(x(:),[0:255]) donde el primer argumento es la imagen expresada como vector columna y el segundo argumento especifica el centro de la barra. En el segundo caso el comando imhist(imagen) tiene como u ´ nico argumento la matrix de la imagen real sin necesidad de realizar transformaciones adicionales. En la Figura 4 se presenta los resultados obtenidos en MATLAB para ambos casos, se puede observar que 2
(a)
(b)
Figure 3: Transformaci´on. (a) lineal y (b) no-lineal de pixel a pixel. tienen un resultado similar, con la diferencia de que el comando hist grafica barras centradas alrededor del valor de intensidad del pixel por lo que se ve un gr´afico lleno, mientras que el imhist grafica pulsos en el valor de intensidad del pixel, como se observa en la Figuras 4(a) y 4(b).
(a) Comandos: hist
(b) Comandos: imhist
Figure 4: Histograma de la imagen yacht.tif b.- Realice operaciones aritm´ eticas sobre la matriz que permitan cambiar el brillo de la imagen yatch.tif . Grafique la imagen nueva y su histograma. ¿Por qu´ e aparecen peaks en los extremos al realizar esta operaci´on? El brillo de una imagen se modifica mediante la suma o resta una constante a cada pixel. El Histograma se desplazada a la derecha o a la izquierda. Como se esta analizando im´agenes de 8bits, al sumar o restar una constante a cada pixel, los pixeles con valores intermedios se truncan a un entero, pero los pixeles que estan en los extremos o cerca a estos dependiendo del valor de la constante pueden sobrepasar el valor m´aximo o m´ınimo lo que implica que estos pixeles toman los valores 255 y 0 respectivamente por las caracter´ısticas de la imagen, lo que se refleja en peaks en los extremos del histograma. Mas estos peaks solo aparecen en uno de los extremos dependiendo del valor de la constante si C > 0, el peak asoma en el extremo de 255 caso contrario en el extremo de 0.
3
Para la parte pr´actica se procede a seleccionar una constante de k = 50 para sumar a cada pixel en un primer experimento. Por facilidad ambos histogramas se encuentran limitados a 2500 en el eje y, ya que el valor peak es de aproximadamente 33500 en 255. Los resultado se presentan en la Figura 5 donde se comprueba lo analizado anteriormente respecto a los resultados del histograma.
(a) Imagen modificada el brillo
(b) Histograma de Imagen modificada el brillo.
Figure 5: Cambio del brillo de la imagen yacht.tif con una constante k=50 Para el segundo experimento se procede a utilizar una constante de valor k = − 70 de igual forma el eje y se limita en el valor de 2500 con fines de poder comparar con el histograma original, el valor del peak en este caso se da en 0 y es aproximadamente de 4230. Los resultado se presentan en la Figura 6 donde se comprueba lo analizado anteriormente respecto a los resultados del histograma.
(a) Imagen modificada el brillo
(b) Histograma de Imagen modificada el brillo.
Figure 6: Cambio del brillo de la imagen yacht.tif con una constante k=-70 c.- Realice operaciones aritm´ eticas sobre la matriz que permitan cambiar el contraste de la imagen yatch.tif . Grafique la imagen nueva y su histograma. ¿Por qu´ e aparecen peaks en los extremos al realizar esta operaci´on? ¿Qu´e distorsiones presenta el nuevo histograma y a qu´e se deben? El contraste de una imagen se modifica mediante el cambio de la relaci´on entre la intensidad de los pixeles, es decir multiplicar a cada pixel por una constante. Como consecuencia se refleja en la expansi´ on o contracci´on del histograma de la imagen. Al igual que para el caso anterior los pixeles con valores intermedios se truncan a un entero, pero los pixeles que estan en los extremos o cerca a estos dependiendo del valor de la constante pueden sobrepasar el valor m´aximo o m´ınimo lo que implica que estos pixeles 4
toman los valores 255 y 0 respectivamente por las caracter´ısticas de la imagen, lo que se refleja en peaks en los extremos del histograma. Para la parte pr´actica se procede a seleccionar una constante de k = 1/2 para multiplicar a cada pixel en un primer experimento. Los resultado se presentan en la Figura 7 donde se comprueba lo analizado anteriormente respecto a los resultados del histograma. Se observa adem´as que para este caso no existe peaks en los extremos del histograma, esto se debe principalmente a que al multiplicar por una constante k < 1 el histograma se contrae por lo que los valores no salen de los l´ımites superior (255), ni inferior (0).
(a) Imagen modificada el contraste
(b) Histograma de Imagen modificada el contraste.
Figure 7: Cambio del constraste de la imagen yacht.tif con una constante k =
1 2
En un segundo experimento se procede a seleccionar una constante de k = 2 para multiplicar a cada pixel. Los resultado se presentan en la Figura 8 donde se comprueba lo analizado anteriormente respecto a los resultados del histograma. Se observa adem´as que para este caso existe peaks en ambos extremos del histograma, esto se debe principalmente a que al multiplicar por una constante k > 1 el histograma se expande por lo que los valores de algunos pixeles se desbordan por el l´ımites superior (255).
(a) Imagen modificada el contraste
(b) Histograma de Imagen modificada el contraste.
Figure 8: Cambio del constraste de la imagen yacht.tif con una constante k = 2 d.- Cree una funci´on que permita implementar la transformaci´on lineal de pixel a pixel presentada en la Figura 3(a) ¿Qu´e tipo de cambios introduce esta transformaci´on en la imagen? Aplique la transformaci´ on sobre yatch.tif , grafique la imagen y su histograma resultante.
5
La t´ ecnica descrita en la Figura 3(a) es conocida como ”contrast stretching”. Sobre el eje horizontal se observa todas las posibles intensidades de la imagen original, mientra que en el eje vertical muestra las intensidades de la imagen transformada. Esta transformaci´ on asigna los p´ıxeles m´as oscuros en el rango [0, T1] a un nivel de cero (negro), y de igual forma asigna los p´ıxeles m´as claros en el rango de [T2, 255] a nivel de 255 (blanco). Mientras que los p´ıxeles en el rango [T1, T2] son extendidos para usar la escala de [0, 255]. Esto puede tener el efecto de aumentar el contraste y brillo en una imagen. Basado en la ecuaci´on de la recta se tiene que su pendiente viene dado por: m =
255 T 2 − T 1
(1)
De donde se tiene que la ecuaci´on de la recta es: y − y1 = m × (x − x1 )
(2)
De donde reemplazando valores para el punto (T 1 , 0) y pendiente m se tiene: y =
255 × (x − T 1 ) T 2 − T 1
(3)
Donde y es el valor del pixel resultado de la transformaci´on, el cual es redondeado a un valor entero, y x es el pixel original de la imagen sin modificaci´on. La ecuaci´on dada en (3) representa la transformaci´on lineal de pixel a pixel representada en la Figura 3(a) donde T 2 > T 1 y T 2 ∧ T 1 ∈ [0, 255]. En la parte pr´actica se procede a elegir T 2 = 200 y T 1 = 50. Los resultados se presentan en la Figura 9, se observa que debido a la transformaci´on aparecen peaks en los extremos del histograma por razones previamente analizadas.
(a) Imagen modificada mediante transformaci´ o n lineal
(b) Histograma de Imagen modificada mediante transformaci´ on lineal
Figure 9: Transformaci´on lineal de imagen yacht.tif con par´ametros T 1 = 50 y T 2 = 200 Γ
x e.- Cree una funci´on que permita implementar una transformaci´on no-lineal del tipo y = 255 255 donde y es el pixel luego de la transformaci´o n, con Γ = 2.2, tal como se muestra en la Figura 3(b). ¿Qu´e tipo de cambios se observan en la imagen?. Aplique la transformaci´on sobre yatch.tif , grafique la imagen y su histograma resultante.
Se observa que al aplicar la transformaci´on no lineal, como esta varia de manera exponencial, los valores de los pixeles peque˜ nos aparecer´an muy oscuros, a medida que vaya incrementando la intensidad los valores de los pixeles tomaran despu´es de la transformaci´on valores cada vez mayores. Esto se refleja principalmente 6
0.0001 0.0015 0.0067 1 × 0.0111 6.2798 0.0067 0.0015 0.0001
Table 2: Filtro Gaussiano 7 × 7 0.0015 0.0067 0.0111 0.0067 0.0183 0.0821 0.1353 0.0821 0.0821 0.3679 0.6065 0.3679 0.1353 0.6065 1.0000 0.6065 0.0821 0.3679 0.6065 0.3679 0.0183 0.0821 0.1353 0.0821 0.0015 0.0067 0.0111 0.0067
0.0015 0.0183 0.0821 0.1353 0.0821 0.0183 0.0015
0.0001 0.0015 0.0067 0.0111 0.0067 0.0015 0.0001
en la imagen resultante los detalles con tonalidades bajas se perder´an o reducir´an significativamente, mientras que los detalles en tonos m´as altos se asentar´an m´as. En la figura 10 se presentan la imagen resultante y el histograma de esta imagen, se puede observar claramente como debido al valor de gamma Γ muchos pixeles pierden potencia y se vuelven muy oscuros raz´on por la cual se tiene un peak en el extremo izquierdo.
(a) Imagen modificada mediante transformaci´ on no lineal (b) Histograma de Imagen modificada mediante transformaci´ on no lineal
Figure 10: Transformaci´ on Gamma yacht.tif con par´ametro Γ = 2.2
3
Filtrado Digital y An´ alisis Espectral de Im´ agenes
a.- Cree un filtro Gaussiano del tipo h (i, j) = C · exp −
i2 +j 2 2σ 2
, donde σ 2 es la varianza, y C es una constante
utilizada para escalar el filtro de modo que i,j h (i, j) = 1. Obtenga un filtro de 7 × 7 con σ2 = 1 y grafique los valores de los coeficientes (es decir la PSF) en una tabla y en un gr´afico mesh. Recuerde que el origen en filtros se ubica al centro en una PSF.
La ecuaci´on del filtro para los par´ametros establecidos viene dada por: h (i, j) = C · exp −i2 + j 2
(4)
Calculando los valores para el filtro sin la constante C se obtiene los valores de la Tabla 2, aplicando la condici´ on dada por i,j h (i, j) = 1 se obtiene la constante de escalamiento C :
C =
1 = 0.1592 6.2798
(5)
Un filtro gaussiano simula una distribuci´on gaussiana bivariante. El gr´afico mesh del filtro dise˜nado se presenta en la Figura 11, donde se aprecia la caracter´ıstica en forma de campana del Filtro gaussiano, el 7
valor m´aximo aparece en el pixel central y disminuye hacia los extremos tanto m´as r´apido cuanto menor sea el par´ametro de desviaci´on t´ıpica σ. El resultado del filtro es un conjunto de valores entre 0 y 1. Adicionalmente se puede generar el mismo filtro gaussiano en MATLAB mediante la ejecuci´on del comando fspecial(’gaussian’,[7 7],1).
Figure 11: Filtro Gaussiano graficado con mesh b.- Calcule la magnitud del filtro en frecuencia con una resoluci´ on espectral de 256 × 256 puntos utilizando el comando fft2 y fftshift, de modo que la magnitud se grafique entre [ −π, π] × [−π, π]. Cree vectores para frecuencia (u, v) y grafique su resultado: 1) en un gr´afico mesh, 2) en una imagen con la magnitud en escala lineal, y 3) en una imagen con una escala logar´ıtmica (en dB). Utilice el comando imagesc para los dos u ´ ltimos casos. Aseg´ urese que sus gr´aficos est´en entre [ −π, π] × [−π, π]. ¿Qu´e tipo de filtro es este? ¿A qu´e se debe la diferencia entre la magnitud en escala lineal y logar´ıtmica? Los comando usados en la parte pr´actica son: (a) F=fft2(f): Transformada discreta de Fourier de la imagen f, luego es una matriz de valores complejos. (b) fftshift(F): Centra el espectro de Fourier (F (0, 0) centro de las frecuencias). (c) abs(F): Calcula la magnitud de la transformada de Fourier. La magnitud del espectro de frecuencias se presenta en un gr´afico mesh en la Figura 12 donde se puede observar claramente que el Filtro Gaussiano es una funci´on propia de los Filtros LSI, lo que quiere decir que si se introduce al filtro una funci´on gaussiana si espectro tambi´ en sera una funci´on gaussiana. En las Figura 13 (a) y (b) se muestra la magnitud del filtro en escala lineal y logar´ıtmica. Las diferencias de los gr´aficos de la Figura 13 se debe a que en el caso de escala lineal la funci´on se expresa por el valor de la magnitud, mientras que en el caso de la magnitud en dB la escala logar´ıtmica linealiza a la funci´on y principalmente se observa que mejora el rango din´amico de visualizaci´on. Analizando la respuesta en frecuencia de la imagen en las Figuras 12 y 13, se deduce que el filtro es pasa bajos ya que deja pasar ciertas frecuencias hasta un l´ımite pasado este se elimina las frecuencias como se ve claramente en la Figura 13(a). c.- Aplique el filtro anterior sobre la imagen noise1.tif utilizando el comando de MATLAB filter2. Grafique la imagen con ruido, la filtrada y la imagen sin ruido race.tif , y explique las diferencias observadas entre ellas. Grafique tambi´ en la magnitud (en dB) de la DFT de las tres im´agenes, de igual forma que en el punto anterior. Comente la estructura del espectro y explique las diferencias entre ellas y el efecto del filtro.
8
Figure 12: Magnitud del filtro en frecuencia con una resoluci´on espectral de 256 × 256 (Gr´afico mesh)
(a) Mag ni tud en escal a lineal
(b) Ma gni tud en escala lo gar´ıtmica
Figure 13: Magnitud del filtro en frecuencia con una resoluci´on espectral de 256 × 256 El filtro implementado es un filtro pasa bajos como se puede observar el objetivo de este filtro al ser implementado en la imagen noise1.tif es la de eliminar el ruido, en la Figura 14(c) se observa una imagen suavizada respecto a la imagen original con ruido mostrada en la Figura 14(a), se puede observar adem´as que los bordes de la imagen original se muestra difuminados en la imagen filtrada ya que esto corresponde a las altas frecuencias por lo que estas se ven atenuadas. Mediante el filtro se mejora notoriamente la calidad de la imagen respecto a la imagen con ruido. Se analizo previamente que el filtro gaussiano posee la misma forma en el dominio del tiempo y de la frecuencia. Comparando la magnitud de la DTF de la imagen original mostrada en la Figura 15(a) con la imagen agrega ruido mostrada en Figura 15(b) se observa que la imagen con ruido posee mayores componentes en altas frecuencias, la imagen de frecuencia contiene puntos muy brillantes que representaran la frecuencia espacial de las bandas de ruido. El efecto del filtro en la imagen es el de dejar inalterables las bajas frecuencias y aten´ua o elimina las altas frecuencias lo que se visualiza en la Figura 15(c). d.- Aplique un filtro 3 × 3 del tipo h = 91 × ones(3, 3) sobre la imagen noise1.tif . ¿Se obtienen mejoras en la calidad de la imagen? ¿Qu´e tipo de filtro es este? ¿Qu´ e diferencias produce con respecto al filtro Gaussiano? Compare la magnitud del espectro (en dB) de la PSF de los filtros para justificar su an´alisis. El filtro implementado por su forma se conoce como filtro de media (filtro promedio), el cual reemplaza el 9
(a) Imagen Original race.tif
(b) Imagen con Ruido noise1.tif
(c) Imagen aplicada el Filtro
Figure 14: Comparaci´on entre imagen original, agregada ruido y filtrada valor de cada pixel de una imagen con el valor promediado de sus vecinos, incluyendo al pixel. Lo que se puede observar es que elimina valores de pixeles los cuales son poco representativos de sus vecinos como se presenta en la Figura 16. Una desventaja se debe al hecho de que un pixel poco representativo puede afectar significativamente el valor medio de todos los pixeles de la vecindad. Al igual que el filtro gaussiano este es un filtro pasa bajo por lo que se observa en las im´agenes de la Figura donde se puede ver como resultado una reducci´on en el ruido (imagen suavizada) y como el filtro cuando encuentra un l´ımite de objeto, este interpola a nuevos valores desdibujando el borde de la imagen como se puede observar. La diferencia con el filtro Gaussiano se basa en que el filtro Gaussiano se puede ver como un promedio pesado de cada pixel y su vecindad, siendo el de mayor peso el pixel central, mientras que el filtro de media todos los pesos son iguales, por lo que se obtienen mejores resultado con el filtro gaussiano, la magnitud del espectro del filtro y de la imagen aplicada el filtro se presenta en la Figura 17. Se observa que la principal diferencia entre la Figura 17(a) y la Figura 13(a) es la forma del filtro en frecuencia, el filtro gaussiano mantiene la magnitud alrededor de la frecuencia de corte mientras que el filtro de media no es constante. La magnitud del espectro de la imagen filtrada se observa como aten´ua o elimina las altas frecuencias, mas por las caracter´ısticas de frecuencia del filtro el cual posee l´obulos peque˜ nos algunas frecuencias de alta pasan como se observa en la Figura 13(b).
e.- Aplique un filtro de 3 × 3 del tipo h = 0 1 0; 1 −4 1; 0 1 0 sobre la imagen race.tif . ¿Qu´e cambios se observan? ¿Qu´e tipo de filtro es este? ¿Qu´ e utilidad tiene un filtro de este tipo? Compare la magnitud del espectro (en dB) de la PSF de la imagen antes y despu´es del filtrado para justificar su an´ alisis. El filtro dise˜ nado se conoce como filtro Laplaciano el cual es un filtro pasa alto, la caracter´ıstica principal que se nota es que solo quedan las caracter´ısticas de alta frecuencia de la imagen, el filtro intensifica los
10
(a) Imagen Original race.tif
(b) Imagen con Ruido noise1.tif
(c) Imagen aplicada el Filtro Gaussiano
Figure 15: Magnitud de DTF aplicada a im´agenes. detalles, bordes y cambios de alta frecuencia, mientras que aten´ua las zonas de tonalidad uniforme como se observa en la Figura 18. Los coeficientes del filtro suman 0, con coeficientes negativos que rodean el centro de valor positivo grande. El filtro Laplaciano genera peaks marcados o abruptos en los bordes. Cualquier pendiente de brillo, ya sea positiva o negativa, es acentuada. En una regi´on de una imagen que es uniforme en brillo o con gradiente de brillo uniforme, el resultado de aplicar el filtro anterior es reducir el nivel de gris a 0. Cuando una discontinuidad est´a presente dentro de una vecindad en forma de punto, l´ınea o borde, el resultado del Laplaciano es un valor no nulo, negativo o positivo dependiendo de donde se encuentre el punto central con respecto al borde. A fin de exhibir el resultado cuando surgen valores de pixeles tanto positivos como negativos, es com´un sumar un valor medio de gris de modo que los puntos con valor 0 son gris medio, y los valores brillantes y oscuros producidos por el Laplaciano puedan visualizarse. La comparaci´on entre las magnitud del espectro de la imagen original y filtrada se presenta en la Figura 19 se observa como el filtro tiene un comportamiento similar a un filtro pasa altos elimando las frecuencias antes de una frecuencia corte y resaltando las altas frecuencias como se observa al comparar las Figuras 19(a) y (b). La utilidad principal se debe a que debido a que intensifica detalles y bordes esto permite una mejor identificaci´on posterior de los objetos que se encuentren en la imagen.
f.- Aplique un filtro de 3 × 3 del tipo h = 4 4 4; 4 −41 4; 4 4 4 sobre la imagen blur.tif . ¿Qu´e cambios se observan? ¿Qu´e tipo de filtro es este? ¿Qu´ e utilidad tiene un filtro de este tipo? Compare
11
Figure 16: Imagen resultante de filtrar imagen ”noise1.tif” con Filtro de media.
(a) Filtro de media
(b) Imagen aplicada filtro de media
Figure 17: Magnitud de DTF. la magnitud del espectro (en dB) de la PSF de la imagen antes y despu´es del filtrado para justificar su an´ alisis. Los resultados de filtrar la imagen blur.tif mediante el filtro h se presenta en la Figura 20. El filtro analizado es un filtro pasa altos, el cual pretende aislar los componentes de alta frecuencia en una imagen. El filtro acent´ua los componentes de alta frecuencia espacial mientras que deja sin tocar los componentes de baja frecuencia espacial. La suma de los coeficientes es 1 y los coeficientes m´as peque˜ nos rodean al coeficiente del centro que es positivo y el m´as grande. Con la disposici´ on dada del filtro se observa que el pixel central del grupo de pixeles de entrada que se procesan aporta una alta influencia, mientras que los pixeles que lo rodean act´uan oponi´endose a ´el. Si el pixel central posee un valor de brillo muy diferente al de sus vecinos inmediatos, entonces el efecto de estos ´ultimos es despreciable y el valor de salida es una versi´on acentuada del valor original del pixel del centro. Esa diferencia grande indica una marcada transici´ on en los niveles de gris, lo que indica la presencia de componentes de altas frecuencias. Por consiguiente, en la imagen de salida se espera que la transici´on aparezca acentuada. Por el contrario, si los valores de brillo de los pixeles vecinos son suficientemente grandes para contrarrestar el peso del pixel del centro, entonces el resultado final se basa m´ as en un promedio de los pixeles involucrados. Si el valor de brillo de todos los pixeles de un n´ ucleo 3 × 3 son iguales, el resultado es simplemente el mismo valor. Es decir, produce la misma respuesta que el filtro de paso bajo aplicado sobre regiones constantes. Esto significa que el filtro de paso alto no aten´ ua los componentes de ba jas frecuencias espaciales. M´as precisamente enfatiza los componentes de altas frecuencias mientras que deja sin tocar los de bajas frecuencias como se observa en la Figura 21. El an´ alisis anterior se muestra claramente con el an´alisis de magnitud del espectro de la imagen antes 12
Figure 18: Resultados imagen aplicando Filtro Laplaciano
(a) Magnitud del espectro de la imagen original
(b) Magnitud del espectro de la imagen filtrada
Figure 19: Magnitud del espectro imagen original y filtrada. y despu´es del filtrado donde se ve como las altas frecuencias se acent´uan, lo que se refleja en la imagen resultante.
4
Im´ agenes Binarias
Ciertos equipos electr´ onicos no son capaces de producir im´agenes en escalas de grises (por ejemplo FAX e impresoras l´aser) y s´olo pueden imprimir im´agenes binarias (s´olo blanco y negro). En este ejercicio simplificaremos im´agenes monocrom´aticas para obtener binarias utilizando un m´ etodo conocido como halftoning . Se recomienda graficar las im´agenes por separado y usar el comando de MATLAB axis image, para minimizar la distorsi´on al mostrar la imagen en pantalla en MATLAB. a El m´etodo m´as b´asico para realizar halftoning es el m´etodo del umbral binario, el que consiste en asignar la intensidad m´ınima o m´axima a cada pixel a partir de un umbral T definido. Aplique este m´etodo sobre la image house.tif utilizando un umbral de intensidad T = 80. ¿Qu´e sucede con la calidad de la imagen resultante? ¿Se obtienen mejoras importantes al cambiar el umbral T? ¿Qu´e criterio propondr´ıa usted para definir dicho umbral? El m´etodo m´as simple para convertir una imagen en escala de grises en una imagen binaria es mediante umbral binario, es decir, una de dos niveles (de un bit) de cuantificaci´on. Sea f (i, j) una imagen en escala
13
(a) Imagen Original blur.tif
(b) Imagen aplicada el Filtro
Figure 20: Comparaci´on entre imagen original y filtrada
(a) Magnitud del espectro de la imagen original
(b) Magnitud del espectro de la imagen filtrada
Figure 21: Magnitud del espectro imagen original y filtrada. de grises, y b(i, j) es el imagen binaria correspondiente sobre la base de simples umbral. Para un umbral dado T, la imagen binaria se calcula como: b (i, j) =
255 0
Si f (i, j) > T Otro caso
(6)
En la Figura 22(a) se observa la imagen original en estudio, mientras que la Figura 22(b) se observa la imagen utilizando ”Halftoning” basado en el m´etodo de umbral binario. Se puede observar la aparici´on de un contorno en la imagen, este es conocido ”false contouring”, el cual es consecuencia de la cuantizaci´on con pocos bits, en este caso con un bit, debido a que el error de cuantizaci´on es dependiente de la se˜nal de entrada. Adem´as se observa la perdida de detalles de la imagen para el umbral estudiado. Al cambiar el umbral a T = 100 se observa que los detalles de la imagen tienden a mejorar aparecen m´as detalles en la imagen como se observa en la Figura 23(a), mientras que si este valor se reduce T = 50 los detalles desaparecen perdiendo calidad de la imagen como se observa en la Figura 23(b). Uno de los criterios para la selecci´on del umbral es en base a la minimizaci´on del error cuadr´atico medio es decir minimizar: EC M
=
1 MN
14
ij
{f (i, j) − b(i, j)}2
(7)
(a) Imagen Original
(b) Imagen aplicada ”Haltoning” Umbral Binario = 80
T
Figure 22: Aplicaci´on del m´etodo ”Haltoning” Umbral Binario
(a) Imagen aplicada ”Haltoning” Umbral Binario (b) Imagen aplicada ”Haltoning” Umbral Binario T = 100 T = 5 0
Figure 23: M´ etodo ”Haltoning” Umbral Binario, modificaci´ on del umbral Ya que M y N son constantes el funcional de costo viene dado por la expresi´on: J =
min T
2 {f (i, j) − b(i, j)}
(8)
ij
Aplicando la ecuaci´ on dada en (6) el problema es convexo por lo que se garantiza que tiene soluci´on u ´ nica. Para el problema planeado T = 127. La Figura 24 presenta los resultados para T=127, donde se observa que la calidad de la imagen mejora de manera significativa. b Repita el punto anterior, pero antes de definir el umbral agregue ruido uniformemente distribuido en [−40, 40] a la imagen house.tif . ¿C´ omo se compara la calidad de la imagen resultante con la del punto anterior utilizando un umbral de intensidad T = 80? ¿A qu´e se debe esto? ¿Qu´e deficiencias tiene ´este m´etodo? Se observa que al agregar ruido a la imagen se reduce el fen´omeno de ”false contouring” significativamente, adem´ as la imagen es muy borrosa lo que a gran distancia da la impresi´on de tener varios niveles de gris. Esto se debe a que al agregar ruido blanco uniformemente distribuido a la imagen de entrada antes de cuantificaci´ on se reduce la dependencia entre la se˜nal del entrada y el error. Una de las deficiencias de este m´etodo se basa en el hecho de que la se˜nal resultante puede poseer mucho ruido dependiendo de los l´ımites de ruido agregado, es decir no en muchas aplicaciones reales no se podr´ıa utilizar porque produce resultados muy ruidos. Se observa los resultados pr´ acticos en la Figura 26, donde se puede reducir que pese a que hay una mejora significativa ya que muchos pixeles se saturan por lo que la imagen se ve con menos detalles. 15
Figure 24: M´ etodo ”Haltoning” Umbral Binario, Umbral ´optimo T = 127
(a) Sin agregar ruido uniforme a la imagen
(b) Agregando ruido uniforme a la imagen
Figure 25: Comparaci´on entre m´ etodos ”Haltoning” Umbral Binario con y sin ruido T = 80. Mas al repetir el experimento pero con el umbral ´optimo T = 127 se presentan mejores resultados donde se puede analizar que la imagen tiende a dar un efecto de escala de grises pese a ser imagen monocrom´atica. c Un m´etodo com´un de producir aparentes escalas de grises solo con im´agenes binarias se llama dithering , el cual consiste en producir m´ultiples niveles de intensidad creando cuadrados binarios, como se ilustraen la Fig. 2. Un m´etodo para realizar esta divisi´ on es cuantizar la imagen utilizando patrones dither directamente, lo que permite ordenar el orden del encendido de cada pixel. El patr´on dither asociado a la Fig. 2 corresponde a T = 255 × [5/83/8; 1/87/8]. Repita y expanda este mismo patr´on utilizando el comando de MATLAB repmat hasta obtener una matriz del mismo tama˜no que la imagen house.tif . Aplique el m´ etodo del umbral operando con la imagen completa y el patr´ on de igual tama˜no con el comando Y = 255 × (X > T ), donde X es la imagen, y T el mosaico con los patrones (del mismo tama˜no que X ). ¿C´omo se compara la calidad con la de las im´agenes resultantes en los puntos anteriores? ¿Qu´e deficiencias tiene este m´etodo y c´omo cree usted que se podr´ıa mejorar? Los resultados obtenidos en la Figura 27, tiende a ser mejores en la calidad de mostrar una imagen monocrom´atica mediante ilusi´on como una imagen de varios niveles de grises, los resultados son muy adecuados y decentes en los valores de la imagen de tonos medios, mas en valores muy bajos se observa claramente la grilla utilizada para dar el efecto analizado, por lo que se pierde calidad en las partes con tonos menos claros. Una forma de mejorar este comportamiento es mediante la utilizaci´on de una transformaci´on no lineal conocida como correcci´ on Gamma Γ, con la cual se corrige los valores peque˜nos con la finalidad de dar mayor potencia a los pixeles de tono inferior y mejorar el comportamiento ante el m´etodo ”Dithering”. d Repita los puntos anteriores para la imagen race.tif . ¿Se aprecia mejor o peor las diferencias entre los tres tipos de halftoning ? 16
(a) Sin agregar ruido uniforme a la imagen
(b) Agregando ruido uniforme a la imagen
Figure 26: Comparaci´on entre m´ etodos ”Haltoning” Umbral Binario con y sin ruido T = 127.
( a) Imagen Ori ginal
(b) Imagen apl icada ”Or der ed Di ther ing”
Figure 27: Aplicaci´on del m´etodo ”Haltoning” Umbral Binario La Figura 28 presenta la aplicaci´on de la t´ ecnica de umbral binario a la imagen ’race.tif’ , se observa que al igual que en el caso anterior analizado se crean falsos contornos (’false contouring’) debido a la cuantizaci´ on en un solo bit de la imagen. La Figura 29 presenta la aplicaci´on de la t´ecnica de umbral binario a la imagen ’race.tif’ pero con aplicando ruido uniforme previamente a la imagen, se puede observa que gracias a que se descorrelacionan en cierto modo el error y la se˜nal mejora el problema del falso contorno (false contouring). Finalmente la figura 30 presenta los resultados de aplicar la t´ ecnica ”Dithering” a la imagen ’race.tif’ observando resultados similares a los obtenidos para el caso anterior, se puede observar claramente como la calidad de la imagen da un aspecto de escala de grises. Comparando los dos casos se puede observar que los casos de estudio se aprecian de peor forma comparada con el literal (a), (b) y (c).
17
(a) Imagen Original
(b) Imagen aplicada ”Haltoning” Umbral Binario 127
T =
Figure 28: Aplicaci´on del m´etodo ”Haltoning” Umbral Binario
(a) Sin agregar ruido uniforme a la imagen
(b) Agregando ruido uniforme a la imagen
Figure 29: Comparaci´on entre m´ etodos ”Haltoning” Umbral Binario con y sin ruido T = 127.
( a) Imagen Ori ginal
( b) Imag en aplicada ”Order ed Dithering”
Figure 30: Aplicaci´on del m´etodo ”Haltoning” Umbral Binario
18