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