Beruflich Dokumente
Kultur Dokumente
asicos de DSP
IPD-414: Seminario de Procesamiento Digital de Se
nales
Oswaldo Anbal Menendez Granizo
11 de Noviembre de 2015
Manipulaci
on Simple de Im
agenes
Lea en MATLAB la imagen yacht.tif utilizando A=imread(yatch.tif ). Para que pueda realizar manipulaciones en esta imagen en MATLAB, aseg
urese que todas sus imagenes sean representadas como matrices de
elementos en punto flotante utilizando B=double(A).
a.- Grafique la imagen utilizando el comando image 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)) y
que los pixeles sean representados como cuadrados utilizando el comando axis 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 corresponde a restar: 255 menos la matriz de la imagen. Escriba la imagen resultante
con el nombre yacht inv.jpg en formato JPG utilizando el comando imwrite(A,map,filename,fmt) y
definiendo el mapa de colores adecuadamente.
Negativo de la Imagen Original
Imagen Original
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
50
350
100
150
200
250
300
350
Figure 1: Comparaci
on entre imagen original yacht.tif y negativo imagen yacht inv.jpg
Se observa que al realizar la transformacion 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 es el complemento de los pixeles imagen original. Los resultados se presentan en la
Figura 1. Esto es consecuencia de que en n
umeros binarios si un sumamos un n
umero binario A de 8bits
con su complemento se obtiene como resultado A + A = 111111112 = 25510 de donde despejando se tiene
que A = 111111112 A.
b.- Tomando una porci
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 . Escriba la imagen
resultante como yacht mosaic.bmp de igual forma que la anterior. Puede usar los comandos de MATLAB
transpose, flipud, fliplr.
Se procede a realizar el ejercicio en base a dos tecnicas diferentes, la primera se basa en la utilizacion de los
comandos de MATLAB propuesto en el enunciado transpose, flipud, fliplr y la segunda en base al comando
Mosaico de Imagen
Mosaico de Imagen
50
50
100
100
150
150
200
200
250
250
300
50
100
150
200
250
300
300
50
100
150
200
250
300
rot90. En la Figura 2 se presentan los resultados de ambas tecnicas 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
(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 grafico 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).
2500
2000
Nmero de Pixeles
2000
Nmero de Pixeles
1500
1000
1500
1000
500
500
0
0
50
100
150
200
250
50
100
150
200
250
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.
Imagen Modificada Brillo
2500
50
Nmero de Pixeles
2000
100
150
200
1500
1000
500
250
50
100
150
200
250
300
350
50
100
150
200
250
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.
Imagen Modificada Brillo
2500
2000
Nmero de Pixeles
50
100
150
1500
1000
500
200
250
50
100
150
200
250
300
350
50
100
150
200
250
Figure 6: Cambio del brillo de la imagen yacht.tif con una constante k=-70
c.- Realice operaciones aritmeticas sobre la matriz que permitan cambiar el contraste de la imagen yatch.tif.
Grafique la imagen nueva y su histograma. Por que aparecen peaks en los extremos al realizar esta
operaci
on? Que distorsiones presenta el nuevo histograma y a que se deben?
El contraste de una imagen se modifica mediante el cambio de la relacion 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 maximo o mnimo lo que implica que estos pixeles
4
toman los valores 255 y 0 respectivamente por las caractersticas 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 ademas 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 lmites superior (255), ni inferior (0).
Imagen Modificada Contraste
2500
2000
Nmero de Pixeles
50
100
150
200
1500
1000
500
250
50
100
150
200
250
300
350
50
100
150
200
250
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 ademas 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 lmites superior (255).
Imagen Modificada Contraste
2500
50
Nmero de Pixeles
2000
100
150
200
1500
1000
500
250
50
100
150
200
250
300
350
50
100
150
200
250
La tecnica 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 transformacion asigna los pxeles mas oscuros en el rango
[0, T1] a un nivel de cero (negro), y de igual forma asigna los pxeles mas claros en el rango de [T2, 255]
a nivel de 255 (blanco). Mientras que los pxeles 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
T2 T1
(1)
(2)
255
(x T1 )
T2 T1
(3)
Donde y es el valor del pixel resultado de la transformacion, el cual es redondeado a un valor entero, y x
es el pixel original de la imagen sin modificacion.
La ecuaci
on dada en (3) representa la transformacion lineal de pixel a pixel representada en la Figura 3(a)
donde T2 > T1 y T2 T1 [0, 255].
En la parte pr
actica se procede a elegir T2 = 200 y T1 = 50. Los resultados se presentan en la Figura
9, se observa que debido a la transformacion aparecen peaks en los extremos del histograma por razones
previamente analizadas.
Histograma Imagen Modificada Brillo y Contraste (T.Lineal)
2500
2000
Nmero de Pixeles
50
100
150
1500
1000
500
200
250
50
100
150
200
250
300
350
50
100
150
200
250
Figure 9: Transformaci
on lineal de imagen yacht.tif con parametros T1 = 50 y T2 = 200
x
e.- Cree una funci
on que permita implementar una transformacion no-lineal del tipo y = 255 255
donde
y es el pixel luego de la transformaci
on, con = 2.2, tal como se muestra en la Figura 3(b). Que tipo
de cambios se observan en la imagen?. Aplique la transformacion 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 despues de la transformacion valores cada vez mayores. Esto se refleja principalmente
6
1
6.2798
0.0001
0.0015
0.0067
0.0111
0.0067
0.0015
0.0001
77
0.0067
0.0821
0.3679
0.6065
0.3679
0.0821
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 perderan o reduciran significativamente,
mientras que los detalles en tonos m
as altos se asentaran mas. 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 razon por la cual se tiene un peak en el
extremo izquierdo.
Imagen Modificada Brillo y Contraste (T. No Lineal)
10000
Nmero de Pixeles
50
100
150
200
8000
6000
4000
2000
250
50
100
150
200
250
300
350
50
100
150
200
250
Filtrado Digital y An
alisis Espectral de Im
agenes
2 2
+j
a.- Cree un filtro Gaussiano del tipo h (i, j) = C exp i 2
, donde 2 es la varianza, y C es una constante
2
P
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 grafico 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)
1
= 0.1592
6.2798
(5)
Un filtro gaussiano simula una distribucion gaussiana bivariante. El grafico mesh del filtro dise
nado se
presenta en la Figura 11, donde se aprecia la caracterstica en forma de campana del Filtro gaussiano, el
valor m
aximo aparece en el pixel central y disminuye hacia los extremos tanto mas rapido cuanto menor
sea el par
ametro de desviaci
on tpica . 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 ejecucion del comando
fspecial(gaussian,[7 7],1).
Filtro Gaussiano
0.2
h(x,y)
0.15
0.1
0.05
0
4
2
4
2
2
4
Figure 12: Magnitud del filtro en frecuencia con una resolucion espectral de 256 256 (Grafico mesh)
Respuesta en Frecuencia (Magnitud en dB)
3
3
3
Figure 13: Magnitud del filtro en frecuencia con una resolucion 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 = 19 ones(3, 3) sobre la imagen noise1.tif. Se obtienen mejoras en
la calidad de la imagen? Que tipo de filtro es este? Que 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
Imagen Original
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
50
350
100
150
200
250
300
350
50
100
150
200
250
50
100
150
200
250
300
350
10
3
3
3
3
11
50
100
150
200
250
50
100
150
200
250
300
350
Figure 16: Imagen resultante de filtrar imagen noise1.tif con Filtro de media.
Respuesta en Frecuencia Filtro Promedio (Magnitud en dB) Respuesta en Frecuencia Imagen Filtrada (Magnitud en dB)
3
3
Imagen Filtrada
50
100
150
200
250
50
100
150
200
250
300
350
3
3
Im
agenes Binarias
13
Imagen Original
Imagen Filtrada
50
50
100
100
150
150
200
200
250
50
100
150
200
250
300
250
350
50
100
150
200
250
300
350
3
3
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 metodo 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 cuantizacion 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 minimizacion del error cuadratico medio es decir
minimizar:
s
ECM
1 X
2
{f (i, j) b(i, j)}
M N ij
14
(7)
Imagen Original
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
350
50
100
150
200
250
300
350
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
350
50
100
150
200
250
300
350
(a) Imagen aplicada Haltoning Umbral Binario (b) Imagen aplicada Haltoning Umbral Binario
T = 100
T = 50
(8)
ij
Aplicando la ecuaci
on dada en (6) el problema es convexo por lo que se garantiza que tiene solucion 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 que se debe esto? Que deficiencias tiene este
metodo?
Se observa que al agregar ruido a la imagen se reduce el fenomeno de false contouring significativamente,
adem
as la imagen es muy borrosa lo que a gran distancia da la impresion 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 metodo se basa en el hecho de que la se
nal resultante puede poseer mucho ruido dependiendo de los
lmites de ruido agregado, es decir no en muchas aplicaciones reales no se podra utilizar porque produce
resultados muy ruidos. Se observa los resultados practicos 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
50
100
150
200
250
50
100
150
200
250
300
350
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
50
350
100
150
200
250
300
350
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
50
350
100
150
200
250
300
350
50
50
100
100
150
150
200
200
250
50
100
150
200
250
300
250
350
50
100
150
200
250
300
350
17
Imagen Original
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
50
350
100
150
200
250
300
350
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
350
50
100
150
200
250
300
350
Imagen Original
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
350
50
100
150
200
250
300
350
18