Laboratorio 2. Mejoramiento de imágenes en Matlab.

Laboratorio 2. Mejoramiento de im´
agenes en Matlab.
Procesamiento Digital de Im´
agenes
Prof. Vinicio Carrera
1.
Objetivo
Familiarizar al estudiante con la tarea de mejoramiento de im´agenes y algunas t´ecnicas de desempe˜
no
en Matlab.
2.
Fundamentos te´
oricos
Algunas definiciones y conceptos asociados al mejoramiento del desempe˜
no e im´agenes en Matlab son
presentados a continuaci´
on.
2.1.
Desempe˜
no en Matlab
Matlab es un lenguaje de programaci´
on dise˜
nado para operar sobre arreglos. Tomar ventaja de este
hecho cuando sea posible, resulta en incrementos significativos en la velocidad computacional. La secci´
on
“2.10.4 Code Optimization” del libro Digital Image Processing using MatLab de R. Gonzales et al (2nd
Ed., 2009) presenta 2 alternativas para la generaci´on de im´agenes peri´odicas en base a la funci´on sin().
La primera alternativa usa lazos for, mientras que la segunda vectoriza los lazos.
2.2.
Mejoramiento de intensidad
Im´
agenes JPG normalmente vienen con componentes RGB. La funci´on rgb2gray() permite reducir
las 3 componentes crom´
aticas en una sola matriz en escala de grises. Adem´as, la funci´on imadjust()
permite realizar algunas transformaciones simples en la intensidad de los pixels. Para la visualizaci´on en
blanco y negro, la funci´
on im2bw es la m´
as aconsejada.
Otras transformaciones m´
as interesantes pueden hacerse mediante la funci´on intrans() (ver la secci´
on
3.2.3 del libro Digital Image Processing using MatLab de R. Gonzales et al., 2nd Ed., 2009). Adem´
as,
cuando no se desea una equalizaci´
on de histograma simple, se pueden generar histogramas gaussianos de
2 modos mediante la funci´
on twomodegauss. Estos histogramas ayudan a resaltar los conjuntos de pixels
de mayor inter´es. Para la ecualizaci´
on de histogramas se puede usar la funci´on histeq().
2.3.
Interfaz gr´
afica en Matlab
GUIDE (Graphical User Interface Development Environment) es un entorno de programaci´on visual
disponible en MATLAB para realizar y ejecutar programas que necesiten ingreso continuo de datos. Tiene
casi todas las caracter´ısticas de lenguajes de programaci´on visual como Visual Basic o Java.
Para iniciar con el uso de GUIDE, u
´nicamente se requiere ejecutar la sentencia guide en la l´ınea de
comandos. Un ejemplo de una posible interfaz que puede codificarse a trav´es del uso de GUIDE es la
ventana mostrada en la figura 1. Informaci´on m´as detallada de las opciones de programaci´on existentes
en GUIDE puede encontrarse en el “Manual de Interfaz Gr´afica de Usuario en Matlab” escrito por Diego
Barrag´
an, disponible como archivo adjunto a este documento.
3.
Actividades
1. En base a la secci´
on “2.10.4 Code Optimization” del libro Digital Image Processing using MatLab de
R. Gonzales et al. (2nd Ed., 2009), determine la mejora de desempe˜
no que presenta la codificaci´
on
vectorizada de la funci´
on twodsin(). Tambi´en visualice las im´agenes generadas.
1
Figura 1: Ejemplo de interfaz gr´afica usando GUIDE.
2. Partiendo de la imagen im2.jpg (anexada a la presente gu´ıa) determinar el perfil de las personas
a las que se les aplic´
o rayos X, usando u
´nicamente transformaciones de intensidad y conversiones a
escala de grises o blanco y negro.
3. Desarrollar una aplicaci´
on basada en GUIDE (Interfaz Gr´afica de Usuario en MatLab) que presente
un panel con 4 secciones bien definidas:
Imagen de video capturada por la c´amara Web.
Imagen procesada por una transformaci´on de intensidad usando todas las opciones disponibles
en la funci´
on intrans() (secci´
on 3.2.3 del libro Digital Image Processing using MatLab de
R. Gonzales et al., 2nd Ed., 2009). Cajas de texto, botones, sliders pueden utilizarse para la
selecci´
on de par´
ametros para cada una de las transformaciones.
Histograma con formato twomodegauss() (secci´on 3.3.3 del libro mencionado) donde los
par´
ametros puedan ingresarse por cajas de texto o sliders.
Imagen procesada por un emparejamiento de histograma usando el histograma anteriormente
definido.
4.
Informe
Realizar las actividades planteadas y escribir su informe de laboratorio usando LATEX1 . Despu´es de
generar el archivo PDF, debe subirse el informe a https://engrade.com/. Note que el informe debe
contener una descripci´
on general de la aplicaci´on realizada, el c´odigo desarrollado y un an´alisis de la
funcionalidad obtenida. Finalmente, los resultados de las pruebas realizadas deben ser discutidos.
1 Existen muchas distribuciones diferentes de T X, pero sugerir´
ıa a los usuarios de Windows instalar MikTeX
E
(http://miktex.org/), a los usuarios de Linux instalar TEX Live (http://www.tug.org/texlive/), y a los usuarios de
Mac instalar MacTeX (http://www.tug.org/mactex/). Sin embargo, si no desea preocuparse por la instalaci´
on y administraci´
on del software, recomiendo firmemente usar aplicaciones en la nube como Overleaf (https://www.overleaf.com/) y
ShareLatex (https://www.sharelatex.com/).
2