Laboratorio 1. Adquisición y manipulación de imágenes en Matlab.

Laboratorio 1. Adquisición y manipulación de
imágenes en Matlab.
Procesamiento Digital de Imágenes
Prof. Vinicio Carrera
1.
Objetivo
Familiarizar al estudiante con la utilización del Image Processing Toolbox de Matlab, la herramienta
de diseño gráfico GUIDE, y la adquisición de imágenes/videos en Matlab.
2.
Fundamentos teóricos
Algunos conceptos importantes sobre la adquisición de imágenes y el uso de interfaz gráfica en Matlab
son presentados a continuación.
2.1.
2.1.1.
Adquisición de imágenes
Hardware
El único requisito para el dispositivo de adquisición es que la mismo sea compatible con Matlab.
Normalmente, cámaras de video estándares instaladas en computadores portátiles de marca HP, Dell,
etc. permiten la captura de imágenes y streamings de video sin ningún problema.
2.1.2.
Software
La programación en MATLAB para la adquisición de streamings de video está fundamentada en el
siguiente proceso:
1. Verificación del hardware. Es importante revisar la información de los dispositivos de captura soportados por MATLAB mediante la función imaqhwinfo y elegir la cámara de acuerdo al nombre
e identificador del adaptador.
2. Creación de la entrada de video. Se crea un objeto para entrada de vı́deo con el constructor
videoinput cuyos parámetros son el nombre del adaptador y su identificador.
3. Configuración básica. Se puede obtener o modificar la configuración del video de entrada mediante
las funciones get, set e inspect.
4. Visualización previa. Se puede obtener una vista previa del video de entrada a través de la función
preview.
5. Adquisición de datos. La adquisición de datos se controla con las funciones start y stop del objeto.
En este paso se obtienen los datos y pueden almacenarse para trabajarlos en Matlab.
6. Captura de imágen: Se accede a una imagen de la entrada de video utilizando la función getsnapshot.
2.2.
Interfaz gráfica en Matlab
GUIDE (Graphical User Interface Development Environment) es un entorno de programación 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ón visual como Visual Basic o Java.
Para iniciar con el uso de GUIDE, únicamente se requiere ejecutar la sentencia guide en la lı́nea de
comandos. Un ejemplo de una posible interfaz que puede codificarse a través del uso de GUIDE es la
ventana mostrada en la figura 1. Información más detallada de las opciones de programación existentes
en GUIDE puede encontrarse en el “Manual de Interfaz Gráfica de Usuario en Matlab” escrito por Diego
Barragán, disponible como archivo adjunto a este documento.
1
Figura 1: Ejemplo de interfaz gráfica usando GUIDE.
2.2.1.
Almacenamiento de imágenes
El almacenamiento de imágenes en disco puede realizarse a través de la función imwrite. Para la
selección del nombre del archivo y formatos disponibles se recomienda el uso de la función uiputfile.
3.
Actividades
Desarrollar una aplicación en Matlab que permita la visualización en tiempo real del video obtenido
a través de una cámara de video (por facilidad se recomienda utilizar la webcam de un computador
portátil). El programa debe también permitir la captura y almacenamiento de imágenes extraı́das a
partir del streaming de video en formatos variados (al menos 3) y usando tanto color como escala de
grises. Dicho programa deberá hacer uso de las capacidades de interfaz gráfica que permite GUIDE.
4.
Informe
Realizar las actividades planteadas y escribir su informe de laboratorio usando LATEX1 . Después de
generar el archivo PDF, debe subirse el informe a https://engrade.com/. Note que el informe debe
contener una descripción general de la aplicación realizada, el código desarrollado y un análisis 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ón y administración del software, recomiendo firmemente usar aplicaciones en la nube como Overleaf (https://www.overleaf.com/) y
ShareLatex (https://www.sharelatex.com/).
2