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
© Copyright 2024