Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

4,129 views
4,038 views

Published on

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,129
On SlideShare
0
From Embeds
0
Number of Embeds
1,841
Actions
Shares
0
Downloads
253
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii

  1. 1. Facultad de Ingeniería Electrónica y Mecatrónica Procesamiento de Imágenes y Visión Artificial (PS02) Laboratorio: 4 Procesamiento Digital de Imágenes con MatLab II Ing. José C. Benítez P.
  2. 2. Í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 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 finales Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 2
  3. 3. IntroducciónImplementación de VA con C++ • 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 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.. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 3
  4. 4. IntroducciónMatLab oportuno, el Toolbox de PDI (TPDI) • 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. • 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). Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 4
  5. 5. Conceptos básicos de las imágenesImagen en escala de grises• 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.• 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). Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 5
  6. 6. Conceptos básicos de las imágenesImagen en color• 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 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 6
  7. 7. Conceptos básicos de las imágenesLectura y escritura de imágenes a través de archivo• 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’)• 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 7
  8. 8. Conceptos básicos de las imágenes Lectura y escritura de imágenes a través de archivo• 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.• 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 8
  9. 9. Conceptos básicos de las imágenes Lectura y escritura de imágenes a través de archivo• Una vez que la imagen esta contenida en una variable (imagen) de matlab es posible utilizar las funciones para procesar la imagen.• 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 9
  10. 10. Conceptos básicos de las imágenesLectura y escritura de imágenes a través de archivo Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 10
  11. 11. Conceptos básicos de las imágenesLectura y escritura de imágenes a través de archivo Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 11
  12. 12. Conceptos básicos de las imágenes Lectura y escritura de imágenes a través de archivo• 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 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 12
  13. 13. Conceptos básicos de las imágenesLectura y escritura de imágenes a través de archivo Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 13
  14. 14. Conceptos básicos de las imágenes Lectura y escritura de imágenes a través de archivo• 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 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 14
  15. 15. Conceptos básicos de las imágenes Acceso a pixels y planos en las imágenes• El acceso a píxel de una imagen es una de las operaciones mas comunes en VA y en matlab es sencillo; se debe indexar el píxel de interés en la estructura de la imagen.• 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 Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 15
  16. 16. Conceptos básicos de las imágenes Acceso a pixels y planos en 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;• Para verificar: >> imshow(imagenbn); Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 16
  17. 17. Conceptos básicos de las imágenes Acceso a pixels y planos en 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.• 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) ; Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 17
  18. 18. Conceptos básicos de las imágenesAcceso a pixels y planos en las imágenes Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 18
  19. 19. Conceptos básicos de las imágenes Acceso a pixels y planos en 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 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 19
  20. 20. Conceptos básicos de las imágenesAcceso a pixels y planos en las imágenes Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 20
  21. 21. Conceptos básicos de las imágenes Acceso a pixels y planos en 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: >> imagenc(440, 250,1) = 255; >> imagenc(440, 250, 2) = 255; >> imagenc(440, 250, 3) = 255;• Lo cual dará como resultado tres valores. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 21
  22. 22. Conceptos básicos de las imágenesAcceso a pixels y planos en las imágenes Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 22
  23. 23. Conceptos básicos de las imágenesAcceso a pixels y planos en 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 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 23
  24. 24. Conceptos básicos de las imágenesAcceso a pixels y planos en 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 +.• 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 24
  25. 25. Conceptos básicos de las imágenesAcceso a pixels y planos en las imágenes Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 25
  26. 26. Conceptos básicos de las imágenesAcceso a pixels y planos en las imágenes Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 26
  27. 27. Conceptos básicos de las imágenesAcceso a pixels y planos en las imágenes Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 27
  28. 28. 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 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 28
  29. 29. 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 humana. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 29
  30. 30. 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 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. Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 30
  31. 31. 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). Visión por Computador utilizando MatLAB y el Toolbox de Procesamiento Digital de Imágenes Erik Valdemar Cuevas Jimenez Daniel Zaldivar Navarro Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 31
  32. 32. Agradecimiento Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 32

×