utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

32
Procesamiento de Imágenes y Visión Artificial (PS02) Facultad de Ingeniería Electrónica y Mecatrónica (PS02) Laboratorio: 4 Ing. José C. Benítez P. Procesamiento Digital de Imágenes con MatLab II

Upload: jcbenitezp

Post on 21-Jun-2015

3.884 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Procesamiento de Imágenesy Visión Artificial

(PS02)

Facultad de Ingeniería Electrónica y Mecatrónica

(PS02)

Laboratorio: 4

Ing. José C. Benítez P.

Procesamiento Digital de Imágenes con MatLab II

Page 2: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Índice

Procesamiento Digital de Imágenes con MatLab:� Introducción.� Conceptos básicos de las imágenes

� Lectura y escritura de archivos de imágenes.

� Acceso a pixel y planos en las imágenes.

� Sub muestreo de imágenes

� Tipos de datos de los elementos de una imagen

� Procesamiento de la imagen

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

� Procesamiento de la imagen� Filtraje espacial

� Funciones para la extracción de bordes

� Imágenes binarias y segmentación por umbral.

� Operaciones morfológicas.

� Operaciones basadas en objetos

� Selección de objetos

� Medición de características

� Funciones para la conversión de imágenes y formatos de color.

� La herramienta vfm� Captura de la imagen en MatLab

� Notas finales2

Page 3: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Introducción

• La implementación de algoritmos en Visión Artificial (VxC)

resulta muy costoso en tiempo ya que se requiere de la

manipulación de punteros, gestión de memoria, etc.

• Lenguaje C++ (que por sus características compartidas de alto

y bajo nivel lo hacen el mas apropiado para la implementación

Implementación de VA con C++

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 3

y bajo nivel lo hacen el mas apropiado para la implementación

de algoritmos de VC) supondría la inversión de tiempo y sin la

seguridad de que lo implementado funcionará.

• C++ para el periodo de prueba exige un tiempo normal de

corrección de errores debidos al proceso de implementación del

algoritmo, es decir errores programáticos efectuados por

ejemplo al momento de multiplicar dos matrices, etc..

Page 4: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Introducción

• Todos estos problemas pueden ser resueltos si la

implementación de prueba es realizada en MatLAB utilizando

su TPDI con ello el tiempo de implementación se convierte en

el mínimo con la confianza de utilizar algoritmos

científicamente probados y robustos.

MatLab oportuno, el Toolbox de PDI (TPDI)

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 4

• El TPDI contiene:

• Un conjunto de funciones de los algoritmos mas conocidos para trabajar con imágenes binarias, trasformaciones geométricas, morfología y manipulación de color.

• Funciones ya integradas en MatLab permite realizar

análisis y trasformaciones de imágenes en el dominio de

la frecuencia (trasformada de Fourier y Wavlets).

Page 5: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• En MatLab una imagen a escala de grises es representada por medio de una matriz

bidimensional de m x n elementos en donde

n representa el numero de píxeles de ancho y m el numero de píxeles de largo.

Imagen en escala de grises

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 5

ancho y m el numero de píxeles de largo.

• El elemento v11 corresponde al elemento de

la esquina superior izquierda (ver figura),

• Cada elemento de la matriz de la imagen

tiene un valor de 0 (negro) a 255 (blanco).

Page 6: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Por otro lado una imagen de color RGB (la mas usada para la VA, además de ser para MatLab la opción default) es representada por una matriz tridimensional m x n x p, donde m y n

Imagen en color

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 6

tridimensional m x n x p, donde m y n tienen la misma significación que para el caso de las imágenes de escala de grises mientras p representa el plano, que para RGB puede ser 1 para el rojo, 2 para el verde y 3 para el azul.

• La figura muestra detalles de estos conceptos.

Page 7: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Para leer imágenes contenidas en un archivo al ambiente de MatLab se utiliza la función imread, cuya sintaxis es:

imread(’nombre del archivo.ext’)

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 7

• Donde nombre del archivo es una cadena de caracteres conteniendo el nombre completo de la imagen y ext su extensión.

• Al ejecutar el comando se irán desplazándose por CW el contenido de la imagen.

• Los formatos de imágenes que soporta MatLab son los mostrados en la tabla.

Page 8: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Para manipular una imagen solo tiene que usarse la función imread y asignar su resultado a una variable que representará a la imagen ( de acuerdo a la estructura, para representar escala de grises y para RGB.

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 8

• Ejemplo: Para usar el archivo logo.jpg se tendría que escribir en línea de comandos:

>> imagen=imread(’logo.jpg’);

con ello la imagen contenida en el archivo logo.jpg quedará contenida en la variable imagen.

Page 9: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Una vez que la imagen esta contenida en una variable (imagen) de matlab es posible utilizar las funciones para procesar la imagen.

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 9

• Por ejemplo, una función que permite encontrar el tamaño de la imagen es size(variable)

• > >[m, n]=size(imagen);

en donde m y n contendrán los valores de las dimensiones de la imagen.

Page 10: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 10

Page 11: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 11

Page 12: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Para grabar el contenido de una imagen en un archivo se utiliza la función:

imwrite(variable, ’nombre del archivo’);

variable representa la variable que contiene a la imagen y

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 12

nombre del archivo el nombre del archivo con su extensión.

• Ejemplo. La variable imagen que contiene la imagen logo.jpg nos interesa grabar en el archivo logocolor.jpg:

>> imwrite(imagen, ’logocolor.jpg’) ;> > [m, n]=size(imagen);

m y n contendrán los valores de las dimensiones de la imagen.

Page 13: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 13

Page 14: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Después que realizamos un procesamiento con la imagen, es necesario mostrar el resultado obtenido.

• La función imshow(variable) permite desplegar la imagen en una ventana en el

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 14

desplegar la imagen en una ventana en el ambiente de trabajo de matlab.

• Ejemplo. Si la variable a desplegar es imagen en la línea de comandos se escribirá:

>> imshow(imagen);

obtendríamos la imagen variable imagen que corresponde al archivo logo.jpg.

Page 15: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• El acceso a píxel de una imagen es una de las operaciones mas comunes en VA y en matlabes sencillo; se debe indexar el píxel de interés en la estructura de la imagen.

• Ejemplo. Tenemos una imagen imagenbn en

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 15

• Ejemplo. Tenemos una imagen imagenbn en escala de grises. Para obtener su valor de intensidad en el píxel especificado por m=100 y n=100 solo se escribe:

>> imagenbn(100,100)ans =251

Page 16: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Para cambiar el valor del píxel (100,100) en imagenbn a negro, se le debe asignar a este pixel el valor de 0, asi:

>> imagebn(100,100) = 0;

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 16

>> imagebn(100,100) = 0;

• Para verificar:

>> imshow(imagenbn);

Page 17: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Las imágenes a escala de grises estas solo tienen un plano, constituido por la matriz m x n que contiene los valores de intensidad para cada índice.

• Las imágenes a color cuentan con mas de un plano.

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 17

• En las imágenes RGB estas cuentan con 3 planos uno para cada color que representa.

• Ejemplo. La imagen RGB contenida en la variable imagenc es la del archivo logo.jpg, para obtener cada uno de los planos que la componen, se escribe:

>> planoR=imagenc( :, :,1) ;>> planoG=imagenc( :, :,2) ;>> planoB=imagenc( :, :,3) ;

Page 18: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 18

Page 19: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Para manipular un píxel de una imagen a color RGB, la imagen tendrá un valor para cada uno de sus planos R, G y B.

• Ejemplo. La imagen RGB logo.jpg contenida en la variable imagenc. Paraobtener el valor del

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 19

la variable imagenc. Paraobtener el valor del píxel m=100 y n=100 para cada uno de los diferentes planos R, G y B.

• Se debe escribir:

>> valorR=imagenc(100,100,1) ;>> valorG=imagenc(100,100,2) ;>> valorB=imagenc(100,100,3) ;

• Lo cual dará como resultado tres valores.

Page 20: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 20

Page 21: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• De igual forma que con imágenes en escala de grises podemos modificar el valor de los píxeles a otro color mediante el cambio de su valor en cada uno de sus respectivos planos.

• Ejemplo. Considerando logo.jpg en imagenc:

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 21

• Ejemplo. Considerando logo.jpg en imagenc:

>> imagenc(440, 250,1) = 255;>> imagenc(440, 250, 2) = 255;>> imagenc(440, 250, 3) = 255;

• Lo cual dará como resultado tres valores.

Page 22: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 22

Page 23: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• A veces es necesario saber el color o la intensidad de gris (el valor del píxel) de forma interactiva, es decir tener la posibilidad de seleccionar un píxel en una región y obtener el valor de este.

• Esta posibilidad es ofrecida por la función impixel, la cual

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 23

• Esta posibilidad es ofrecida por la función impixel, la cual interactivamente entrega el valor (uno o tres) del píxel seleccionado que aparezca en la ventana desplegada por la función imshow.

• El formato de esta función es: valor = impixel;

• Donde valor representa un escalar, en el caso de que la imagen sea a escala de grises o bien un vector de 1 x 3 con los valores correspondientes a cada uno de los planos RGB.

Page 24: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

• Para utilizar esta función es necesario antes, desplegar la imagen con la función imshow.

• Una vez desplegada se llama a la función y cuando el cursor del ratón este sobre la superficie de la imagen cambiara a una +.

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 24

cambiara a una +.

• Cuando se presione el botón izquierdo del ratón se seleccionara el píxel, el cual podemos seleccionar otra vez en caso de que se allá cometido un error a la hora de posicionar el ratón, ya que la función seguirá activada hasta que se presione la tecla de enter o pulsamos el botón derecho del mouse.

• La figura muestra una imagen de la operación descrita.

Page 25: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 25

Page 26: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 26

Page 27: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Conceptos básicos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 27

Page 28: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Notas finales

• Para la sociedad, la biometría es una forma efectiva de conservar la privacidad y protegerse contra el robo de la identidad.

• La biometría también ofrece una alternativa conveniente en el transporte de documentos, recordar claves y memorizar números de

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 28

recordar claves y memorizar números de identificación personal.

• Puesto que las personas pueden ser identificadas con precisión empleando la biometria, los usuarios finales obtienen beneficios al evitar la tediosa (y en ocasiones molesta) tarea de identificarse empleando palabras claves, números especiales, tarjetas de identificación, etc.

Page 29: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Notas finales

• El campo de aplicación de ésta nueva ciencia es ilimitado, puede ir desde un simple teléfono celular, hasta complicadas transacciones financieras, ordenes medicas, cajeros automáticos, automóviles, tarjetas inteligentes, etc., la frontera es la mente

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 29

inteligentes, etc., la frontera es la mente humana.

Page 30: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Tarea

1. Hacer una lista de 03 sensores de huellas dactilares de cada

uno de 02 fabricantes. Adjuntar datasheet y hacer un

resumen con las características mas importantes.

2. Hacer una lista de 03 sensores para el reconocimiento del

iris de cada uno de 02 fabricantes. Adjuntar datasheet y

hacer un resumen con las características mas importantes.

3. Hacer una lista de 03 sensores para el reconocimiento de

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 30

3. Hacer una lista de 03 sensores para el reconocimiento de

voz de cada uno de 02 fabricantes. Adjuntar datasheet y

hacer un resumen con las características mas importantes.

4. Explicar el funcionamiento las diferentes tecnologías que se

utilizan en las cámaras fotográficas digitales. Adjuntar

datasheet de cada tecnología.

5. Explicar el funcionamiento las diferentes tecnologías que se

utilizan en las filmadoras digitales. Adjuntar datasheet de

cada tecnología.

Page 31: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Tarea

Presentación:• Impreso y en USB.• Adjuntar fuentes (03 PDFs, 03 DOCs y 03 PPTs de cada tipo de sensor y tecnologías solicitadas).

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 31

Visión por Computador utilizando MatLABy el Toolbox de Procesamiento Digital de ImágenesErik Valdemar Cuevas JimenezDaniel Zaldivar Navarro

Page 32: Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

Agradecimiento

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 32