aplicaciones de matlab al procesamiento de imagenes

34
APLICACIONES DE MATLAB AL PROCESAMIENTO DE IMAGENES Autor: Luis Garrido Vasquez CIDIACCTEC: Centro de Investigación,Desarrollo,Innovación Asesoría ,Capacitación en Ciencia y Tecnología . Octubre 2011

Upload: steevens-garrido

Post on 31-Oct-2015

480 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Aplicaciones de Matlab Al Procesamiento de Imagenes

APLICACIONES DE MATLAB AL PROCESAMIENTO DE IMAGENES

Autor: Luis Garrido Vasquez

CIDIACCTEC: Centro de Investigación,Desarrollo,Innovación Asesoría ,Capacitación en Ciencia y Tecnología .

Octubre 2011

Page 2: Aplicaciones de Matlab Al Procesamiento de Imagenes

Temas a Tratar:

• MATLAB,CONCEPTOS Y PROGRAMACION .

• PROCESAMIENTO DE IMÁGENES CONCEPTO Y APLICACIONES.

• USO DE MATLAB EN EL PROCESAMIENTO DE IMÁGENES

• DESARROLLO DE APLICACIONES.

Page 3: Aplicaciones de Matlab Al Procesamiento de Imagenes

MATLAB

¿Qué es Matlab?MATLAB es un lenguaje de alto nivel para

realizar cálculos científico-técnicos.Integra las herramientas de cálculo

necesarias con otras de visualización así como, un entorno de programación de fácil uso.

Page 4: Aplicaciones de Matlab Al Procesamiento de Imagenes

Aplicaciones TípicasCálculo matemático Desarrollo de algoritmos Adquisición de datosModelado, simulación y prototipadoAnálisis de datos y visualizaciónGráficos Desarrollo de aplicaciones e interfaces

gráficas de usuario (GUI)Desarrollo de Sistemas mediante Simulink

Page 5: Aplicaciones de Matlab Al Procesamiento de Imagenes

Más sobre MatLabMatLab significa “MATrixLABoratory”El tipo básico de datos es el vector que no

requiere ser dimensionado. Proporciona unos paquetes de extensión

(“toolboxes”) para aplicaciones específicasEstos paquetes incluyen librerías de

funciones MatLab(M-files) que extienden las posibilidades de MatLabpara resolver problemas específicos

Page 6: Aplicaciones de Matlab Al Procesamiento de Imagenes

El entorno de Matlab

Page 7: Aplicaciones de Matlab Al Procesamiento de Imagenes

Sintaxis de MatLab

Operaciones Numericas Básicas

Page 8: Aplicaciones de Matlab Al Procesamiento de Imagenes
Page 9: Aplicaciones de Matlab Al Procesamiento de Imagenes

Operadores relacionales y logicos

Page 10: Aplicaciones de Matlab Al Procesamiento de Imagenes
Page 11: Aplicaciones de Matlab Al Procesamiento de Imagenes

Manejo de VectoresDefinición y Manipulación de un vector en Matlab

Page 12: Aplicaciones de Matlab Al Procesamiento de Imagenes

Manejo de MatricesDefinición y Manipulación de Matrices en Matlab

Page 13: Aplicaciones de Matlab Al Procesamiento de Imagenes

Editor de Textos utilizado para la programación en Matlab

Page 14: Aplicaciones de Matlab Al Procesamiento de Imagenes

Estructuras de ControlSENTENCIA IF

Esta sentencia se refiere a que si una condición es verdadera entonces la acción se ejecuta.

Page 15: Aplicaciones de Matlab Al Procesamiento de Imagenes

SENTENCIA IF-ELSEEsta sentencia se refiere a que si una condición es verdadera entonces la acción se ejecuta de lo contrario se ejecuta la otra.

Page 16: Aplicaciones de Matlab Al Procesamiento de Imagenes

SENTENCIA FOREste bucle sirve en general para ejecutar un determinado numero de veces una o varia sentencias o instrucciones.

Page 17: Aplicaciones de Matlab Al Procesamiento de Imagenes

Se denomina así a los procesos cuyas entradas y salidas son imágenes (procesos de bajo nivel) y, además, a aquellos procesos que extraen atributos de imágenes, incluyendo el reconocimiento de objetos individuales (procesos de nivel medio). Todos los procesos se llevarán a cabo con la ayuda de una computadora digital. Estos procesos lo podemos clasificar en:

Procesos de Bajo Nivel Procesos de Nivel Medio Procesos de Alto Nivel

PROCESAMIENTO DE IMAGENES

Page 18: Aplicaciones de Matlab Al Procesamiento de Imagenes

Procesos de Bajo Nivel:

Utilizan operaciones como el preprocesamiento de imagen para reducir el ruido, mejora del contraste, y filtros de enfoque. El fin es el de “mejorar” la imagen.

Procesos de Nivel Medio:

Se caracterizan por que sus entradas son generalmente imágenes, pero sus salidas son atributos extraídos de esas imágenes (contornos, bordes, identidad de objetos individuales).

Procesos de Alto Nivel:

Implica el obtener algún significado de un conjunto de objetos reconocidos – análisis de imágenes – y, finalmente, realizar las funciones cognitivas asociadas con la vista.

Ejm: reconocimientos de los caracteres de una placa de

automóvil

Page 19: Aplicaciones de Matlab Al Procesamiento de Imagenes

Procesos de Bajo Nivel: El principal objetivo es mejorar la calidad de la imagen

para que el resultado sea más conveniente que la imagen original para una aplicación específica.

La mejora de la imagen se divide en 2 categorías: métodos del dominio espacial(éste se manipulan directamente los pixeles de una imagen) y métodos del dominio de la frecuencia(se modifica la transformada de Fourier de una imagen).

La mejora de la imagen es subjetivo depende de la percepción que tiene la persona de la imagen por ello Un método conveniente para mejorar radiografías no necesariamente será el mejor para mejorar fotografías de Marte transmitidas desde el espacio.

El mejor procesamiento de la imagen es aquél que provoca un mejor reconocimiento por parte de la máquina.

Page 20: Aplicaciones de Matlab Al Procesamiento de Imagenes

Algunas transformaciones del nivel de gris básicas

Estas no van a permitir “mejorar” la imagen ,eliminar ruidos

para que después sea tratada de manera conveniente.se

trabajara directamente con los pixeles de la imagen. Estas son:

Reducción del ruido(Filtros) uso de mascaras de convolución.

Negativos de la imagen . Transformaciones de función de potencia - s = c (r + ε)γ

Ecualización del Histograma. Variación de brillo y contraste mediante Histograma.

Page 21: Aplicaciones de Matlab Al Procesamiento de Imagenes
Page 22: Aplicaciones de Matlab Al Procesamiento de Imagenes

Procesos de Nivel Medio: El principal objetivo es obtener atributos de la imagen que

nos interesan como puede ser bordes, contornos, identidad de objetos individuales ,separación y eliminación de los objetos tanto de interés como no. Se explicara solo las técnicas que se utilizaran en el taller.

Detección de Bordes :Los bordes de una imagen digital se pueden definir como transiciones entre dos regiones de niveles de gris significativamente distintos Suministran una valiosa información sobre las fronteras de los objetos y puede ser utilizada para segmentar la imagen, reconocer objetos, etc.

Para Hallar borde usamos mascaras que nos permiten hallar tales bordes(usaremos en nuestro caso la mascara de Sobel):

Page 23: Aplicaciones de Matlab Al Procesamiento de Imagenes
Page 24: Aplicaciones de Matlab Al Procesamiento de Imagenes
Page 25: Aplicaciones de Matlab Al Procesamiento de Imagenes
Page 26: Aplicaciones de Matlab Al Procesamiento de Imagenes

Operadores Morfológicos : Las operaciones morfológicas a imágenes se definen como procedimientos en los cuales cada nuevo píxel de la imagen resultante es obtenido de una operación no lineal entre un conjunto de puntos de la imagen original f(x,y) y un conjunto de puntos conocido

como elemento estructurante s(x,y) Este elemento estructurante recorre toda la imagen para obtener todos los puntos de la nueva imagen.

Dependiendo de los elementos estructurantes y de las operaciones utilizadas, los filtros morfológicos, son capaces de detectar bordes en las imágenes, filtrar objetos de tamaños menores a uno determinado, suavizar fondos de texturizados, etc.

Page 27: Aplicaciones de Matlab Al Procesamiento de Imagenes

Erosión:

Page 28: Aplicaciones de Matlab Al Procesamiento de Imagenes

Dilatación:

Page 29: Aplicaciones de Matlab Al Procesamiento de Imagenes

Matlab almacena las imágenes como vectores bidimensionales (matrices) o tridimensional (imágenes a color), en el que cada elemento de la matriz corresponde a un sólo pixel.

USO DE MATLAB EN EL PROCESAMIENTO DE IMAGENES

Page 30: Aplicaciones de Matlab Al Procesamiento de Imagenes

En general para manipular la imagen se le tratara como una matriz .Ahora describiremos las funciones a usar en el TALLER:

Para poder leer una imagen en disco en MATLAB usamos la función imread:

Para mostrar la imagen usamos la función imshow:

Para escribir (guardar) una matriz en fichero usamos imwrite:

Page 31: Aplicaciones de Matlab Al Procesamiento de Imagenes

Para convertir una imagen de color a escala de grises usamos la funcion rgb2gray:

Para saber el numero de filas y columnas y canales si es una imagen a color usamos size:

Para redimensionar una imagen usamos imresize:

Page 32: Aplicaciones de Matlab Al Procesamiento de Imagenes

Para un trozo de una imagen usamos imcrop:

Para realizar el Filtrado 2D en una imagen usamos filter2:

Page 33: Aplicaciones de Matlab Al Procesamiento de Imagenes

Para convertir una imagen de color RGB a plano de color HSV usamos la funcion rgb2hsv:

Para realizar la operación de erosion usamos el comando imerode:

Para realizar la operación de dilatacion usamos el comando imdilate :

Page 34: Aplicaciones de Matlab Al Procesamiento de Imagenes