Upload
laurilaflaca
View
1.405
Download
2
Embed Size (px)
Citation preview
Julio de 2010
Comandos básicos en Matlab | Laura Zapata Atencio
UNIVERSIDAD
DEL NORTE
TUTORIAL DE MATLAB SOBRE
PROCESAMIENTO DIGITAL DE IMÁGENES
Comandos básicos en Matlab para PDI – Tutorial por Laura Zapata
Primeramente se debe importar un archivo de imagen a Matlab. Te sugerimos que estos
archivos estén en una sola carpeta y que esta sea la carpeta actual de trabajo de Matlab.
Para importar la imagen debes seguir los siguientes pasos:
- File
- Import data
o Se busca la ubicación del archivo y se selecciona
- Se abre la siguiente ventana donde aparece la imagen, el formato y su tamaño. Da clic
en Finish. Atención: Si deseas cambiarle el nombre al archivo para trabajarlo como
variable puedes hacer clic derecho sobre el nombre del archivo y dar clic en rename.
- Ahora puedes ver en el workspace que aparece el archivo correspondiente a la imagen
que vas a trabajar.
Ahora puedes comenzar a trabajar con la siguiente lista de comandos. Atención: Muchas de las
operaciones de procesamiento digital de imágenes se trabajan una vez la imagen es pasada a
escala de grises.
Conversión de una imagen rgb a escala de grises:
Im= rgb2gray(‘nombre del archivo’);
Aquí ya se crea la variable Im que es la imagen en escala de grises
Para visualizarla
imshow(Im)
Ejemplo:
Histograma de una imagen: Esta herramienta te permitirá saber si la imagen se encuentra
sobre expuesta o por el contrario demasiado oscura.
imhist(Im)
Ajuste de contraste, brillo, gamma.
Correc=imadjust(imagen escala de grises,[contraste],[contraste],gamma) Este código como tal
no funciona así, debes darles valores, por ejemplo:
K = imadjust(Im,[0.3 1.0],[]); Corrección de contraste
O también:
K=imadjust(Im, [], [], 2); Corrección de gamma
Para más información sobre este comando ingresa a la ayuda especializada de matlab en:
http://www.mathworks.cn/access/helpdesk/help/toolbox/images/imadjust.html
Ejemplo de procesamiento
El primer archivo objeto de procesamiento es una imagen que a simple vista se encuentra
sobreexpuesta ya que carece de un poco de contraste y de detalle. La imagen a simple vista se
ve demasiado clara. El archivo original es el siguiente:
Imagen original
Con el comando de Matlab rgb2gray conseguimos convertir la anterior imagen en escala de
grises. El histograma nos permite obtener información sobre los factores que predominan en
una imagen, como el brillo y el contraste y en este caso lo utilizaremos para compararlo con el
de una imagen procesada y una que no lo está. El histograma correspondiente a la imagen sin
procesar es y su respectiva visualización en escala de grises:
Imagen original en gris y su respectivo histograma
Este histograma nos quiere decir que la imagen tiene tonos claros predominantes, por eso la
parte derecha del histograma tiene mayor altura y los píxeles se encuentran concentrados en
posiciones cercanas al blanco.
Para mejorar la imagen, se podrían desplazar los píxeles a zonas más oscuros de forma que la
imagen contenga un brillo más moderado, un mayor contraste, y variedad de tonos. La imagen
procesada y el código implementado en Matlab son los siguientes:
Imagen e histograma de la imagen procesada
>> im_gris=rgb2gray(im);
>> g3=imadjust(im_gris, [], [], 6); %Corrección de gama
>> imshow(g3)
BIBLIOGRAFÍA
THE MATHWORKS. Adjust image intensity values or colormap [en línea].
<http://www.mathworks.cn/access/helpdesk/help/toolbox/images/imadjust.html> [citado en
Julio 16 de 2010]