Este documento describe conceptos básicos de imágenes y su procesamiento en MATLAB. Explica cómo las imágenes se representan como matrices y cómo se pueden leer y escribir archivos de imagen. Luego detalla diversos métodos de procesamiento de imágenes como filtrado, detección de bordes, binarización, operaciones morfológicas y más. Finalmente presenta la herramienta vfm para captura de imágenes.
Los bordes de una imagen digital se definen como transiciones entre regiones con niveles de gris significativamente distintos. La detección de bordes utiliza operadores basados en la primera derivada (gradiente) de la imagen, como Roberts, Prewitt, Sobel y Canny. Roberts detecta bordes diagonales pero es muy sensible al ruido. Prewitt, Sobel y Frei-Chen usan máscaras de convolución para aproximar el gradiente e incluyen vecinos adyacentes, proporcionando mayor inmunidad al ruido. Canny es más sof
Este documento presenta el laboratorio 2 sobre procesamiento de imágenes y visión artificial. Incluye objetivos como manipular el histograma, ecualizar imágenes, aplicar corrección gamma, realizar transformaciones morfológicas y filtrado espacial. Se deben desarrollar funciones en Matlab para cada procedimiento y responder un cuestionario creando funciones adicionales para comparar con funciones de Matlab. El informe final debe incluir resultados, procedimientos y respuestas al cuestionario en Word, referenciando líneas de código.
Este documento proporciona instrucciones para instalar Mathematica 5.2 y ofrece una introducción a su sintaxis y notación. En 3 oraciones: Instala Mathematica 5.2 siguiendo los pasos provistos e incluye la licencia del usuario. Presenta las herramientas básicas como ayuda y paletas para realizar cálculos. Explica la sintaxis distinguiendo entre input y output y presenta funciones, operadores y declaraciones de variables comúnmente usadas.
Este documento describe la implementación y evaluación de rendimiento de 4 algoritmos paralelos para la multiplicación de matrices densas utilizando MPI. Los algoritmos implementados son: 2D cíclico, DNS, Cannon y 2D-Diagonal. Se realizaron pruebas variando el tamaño de matriz y número de procesos, midiendo el tiempo de ejecución. Los resultados muestran el rendimiento de cada algoritmo a medida que cambian los parámetros.
La aplicación 3DStereoglyph permite tomar una imagen estéreo con una sola cámara, convirtiéndola luego en una imagen 3D anaglífica que puede verse en pantallas 2D estándar con gafas. Usa OpenCV para intercambiar las imágenes, separar sus canales de color, y fusionarlos en un anaglifo almacenado y mostrado en la aplicación. El autor propone mejoras futuras como estabilización de imagen y correcciones de alineación, así como soporte para dispositivos con pantallas y cámaras est
Este documento presenta un resumen de los conceptos fundamentales del álgebra. Introduce los sistemas de ecuaciones lineales y las matrices, y explica cómo resolver sistemas mediante el método de eliminación gaussiana. También define estructuras algebraicas como grupos, anillos y cuerpos. Finalmente, presenta los objetivos didácticos del documento, que son enseñar técnicas de álgebra lineal y aplicaciones a la informática.
El manual básico de MATLAB presenta las características fundamentales del lenguaje de programación MATLAB. En primer lugar, introduce MATLAB y sus utilidades principales como el cálculo matricial y el álgebra lineal. Luego, describe las características básicas de MATLAB como las operaciones matemáticas, variables y formatos de números. Finalmente, explica funciones científicas comunes, números complejos, ayuda en línea y ejemplos ilustrativos.
Los bordes de una imagen digital se definen como transiciones entre regiones con niveles de gris significativamente distintos. La detección de bordes utiliza operadores basados en la primera derivada (gradiente) de la imagen, como Roberts, Prewitt, Sobel y Canny. Roberts detecta bordes diagonales pero es muy sensible al ruido. Prewitt, Sobel y Frei-Chen usan máscaras de convolución para aproximar el gradiente e incluyen vecinos adyacentes, proporcionando mayor inmunidad al ruido. Canny es más sof
Este documento presenta el laboratorio 2 sobre procesamiento de imágenes y visión artificial. Incluye objetivos como manipular el histograma, ecualizar imágenes, aplicar corrección gamma, realizar transformaciones morfológicas y filtrado espacial. Se deben desarrollar funciones en Matlab para cada procedimiento y responder un cuestionario creando funciones adicionales para comparar con funciones de Matlab. El informe final debe incluir resultados, procedimientos y respuestas al cuestionario en Word, referenciando líneas de código.
Este documento proporciona instrucciones para instalar Mathematica 5.2 y ofrece una introducción a su sintaxis y notación. En 3 oraciones: Instala Mathematica 5.2 siguiendo los pasos provistos e incluye la licencia del usuario. Presenta las herramientas básicas como ayuda y paletas para realizar cálculos. Explica la sintaxis distinguiendo entre input y output y presenta funciones, operadores y declaraciones de variables comúnmente usadas.
Este documento describe la implementación y evaluación de rendimiento de 4 algoritmos paralelos para la multiplicación de matrices densas utilizando MPI. Los algoritmos implementados son: 2D cíclico, DNS, Cannon y 2D-Diagonal. Se realizaron pruebas variando el tamaño de matriz y número de procesos, midiendo el tiempo de ejecución. Los resultados muestran el rendimiento de cada algoritmo a medida que cambian los parámetros.
La aplicación 3DStereoglyph permite tomar una imagen estéreo con una sola cámara, convirtiéndola luego en una imagen 3D anaglífica que puede verse en pantallas 2D estándar con gafas. Usa OpenCV para intercambiar las imágenes, separar sus canales de color, y fusionarlos en un anaglifo almacenado y mostrado en la aplicación. El autor propone mejoras futuras como estabilización de imagen y correcciones de alineación, así como soporte para dispositivos con pantallas y cámaras est
Este documento presenta un resumen de los conceptos fundamentales del álgebra. Introduce los sistemas de ecuaciones lineales y las matrices, y explica cómo resolver sistemas mediante el método de eliminación gaussiana. También define estructuras algebraicas como grupos, anillos y cuerpos. Finalmente, presenta los objetivos didácticos del documento, que son enseñar técnicas de álgebra lineal y aplicaciones a la informática.
El manual básico de MATLAB presenta las características fundamentales del lenguaje de programación MATLAB. En primer lugar, introduce MATLAB y sus utilidades principales como el cálculo matricial y el álgebra lineal. Luego, describe las características básicas de MATLAB como las operaciones matemáticas, variables y formatos de números. Finalmente, explica funciones científicas comunes, números complejos, ayuda en línea y ejemplos ilustrativos.
Este documento proporciona una introducción al software Simulink. Simulink permite modelar y simular sistemas dinámicos usando diagramas de bloques de manera interactiva. Incluye una biblioteca extensa de bloques para modelar diferentes tipos de sistemas. Los modelos se construyen conectando bloques gráficamente y se pueden simular para ver los resultados. Simulink está integrado con MATLAB para un ambiente de modelado y simulación completo.
Este documento presenta una introducción a MATLAB y Simulink para el análisis y simulación de sistemas de control. Explica cómo convertir funciones de transferencia a formatos de polos y ceros, calcular raíces de polinomios, y obtener respuestas al impulso y escalón. También muestra cómo crear gráficos y modelos de lazo cerrado usando estas herramientas. Finalmente, introduce el uso básico de Simulink para modelar y simular sistemas de control.
1) El documento introduce el curso "Introducción a la Programación de Computadoras con MATLAB". El curso enseña los elementos básicos de la programación a través del entorno MATLAB.
2) Los estudiantes aprenderán a crear programas en MATLAB y estarán preparados para enfrentar otros lenguajes como C++ o Visual Basic.
3) El curso cubre temas como gráficas, funciones, control de flujo, análisis de señales y más, evaluando a los estudiantes en la creación de un programa.
1. El documento presenta un laboratorio sobre procesamiento de imágenes en MATLAB, con objetivos como leer, mostrar y almacenar imágenes, identificar tipos y formatos de imágenes, y manipular pixeles.
2. Se describen conceptos teóricos como iluminación, modos de color e conversiones.
3. El procedimiento incluye desarrollar funciones para conversiones entre modos de color, negativos, binarización, zoom y operaciones lógicas.
Este documento presenta un curso rápido de Matlab. El curso consta de 7 temas principales: introducción a Matlab, estructuras básicas de datos, programación en Matlab, estructuras avanzadas de datos, optimización de código, representaciones gráficas y desarrollo de aplicaciones con Matlab. Se detallan los contenidos de cada tema y se proporcionan ejemplos para ilustrar conceptos como variables, vectores, matrices y operaciones en Matlab.
El documento presenta una introducción a la transformada Z y sus aplicaciones en control digital con MATLAB. Explica las transformadas Z de funciones elementales como escalón unitario, rampa unitaria, potencial, exponencial y senoidal. Luego, describe propiedades y teoremas como linealidad, multiplicación por constantes, traslación, corrimiento, suma de funciones y valores inicial y final. Finalmente, introduce conceptos de ecuaciones en diferencia, funciones de transferencia y modelado en Simulink.
Este documento presenta varios operadores para la detección de bordes en imágenes digitales. Explica el operador de Canny, Sobel, Prewitt y cómo calcular el gradiente. También cubre cómo implementar estos algoritmos y usar las funciones edge y fspecial en MatLab para detectar bordes verticales, horizontales y compuestos. El objetivo es que los estudiantes entiendan y apliquen diferentes métodos para detectar bordes en imágenes.
Guia rapida de matlab (comandos basicos, graficacion y programacion)morones.om
Este documento presenta una guía rápida de MATLAB. Explica cómo iniciar y finalizar una sesión con MATLAB, describe el entorno gráfico bajo Windows y Linux, e introduce conceptos básicos de programación en MATLAB como entrada/salida de datos, asignaciones, estructuras de control, funciones y gráficos.
Mathematica es un programa de cómputo simbólico y numérico desarrollado originalmente por Stephen Wolfram y su compañía Wolfram Research. Permite realizar cálculos matemáticos, estadísticos, ingenieriles y científicos. Incluye funciones para álgebra, cálculo, estadística y gráficos interactivos. El programa consta de un núcleo de cómputo y una interfaz gráfica basada en cuadernos de trabajo.
Este documento presenta un manual de uso de MATLAB. Explica conceptos básicos como variables, vectores, matrices, operaciones matemáticas, bucles y condicionales. También cubre cálculo simbólico, gráficos, ecuaciones diferenciales y funciones numéricas. El manual proporciona instrucciones detalladas sobre cómo utilizar estas herramientas en MATLAB.
Utp pdiva_lab4_procesamiento digital de imagenes con matlab iijcbenitezp
Este documento presenta una introducción al procesamiento digital de imágenes con MATLAB. Explica conceptos básicos como la representación de imágenes en escala de grises y a color, y funciones para la lectura, escritura, visualización y acceso a píxeles de imágenes. También describe el uso del Toolbox de Procesamiento de Imágenes de MATLAB para implementar algoritmos de visión artificial de manera eficiente.
Este documento resume las principales funciones y comandos de MATLAB. MATLAB es un programa comercial para realizar cálculos matemáticos y generar gráficos. Ofrece herramientas para el análisis numérico, procesamiento de señales y matrices. Incluye paquetes especializados llamados toolboxes. MATLAB se inicia directamente desde Windows y permite evaluar comandos en la línea de comandos.
Este documento proporciona una guía básica de Matlab. Explica conceptos fundamentales como variables, operaciones matemáticas, funciones, derivadas e integrales. También cubre temas como matrices, gráficas, ecuaciones y sistemas de ecuaciones. Finalmente, presenta comandos útiles como 'for', 'if' y funciones personalizadas.
El documento proporciona una introducción a MATLAB, incluyendo su origen, plataformas compatibles y productos relacionados como Simulink. También describe varias librerías de aplicaciones de MATLAB como Signal Processing Toolbox, MATLAB C Math Library, MATLAB Compiler Toolbox y otras herramientas que extienden sus capacidades en áreas como procesamiento de señales, álgebra, gráficos y simulación.
TÓPICOS DE MATLAB: APLICACIÓN A LOS MÉTODOS NUMÉRICOS.WALTER YSIQUE
El documento presenta métodos numéricos implementados en MatLab, incluyendo interpolación polinómica, cálculo de raíces, derivadas, integrales y ecuaciones diferenciales. Describe los métodos de interpolación de Lagrange y Hermite, así como métodos para encontrar raíces como bisección, secante, falsa posición y Newton. Explica cómo implementar estas técnicas numéricas usando funciones en MatLab.
Este documento presenta un libro sobre métodos numéricos utilizando MATLAB. Contiene 8 capítulos que cubren temas como ecuaciones no lineales, interpolación, integración numérica, ecuaciones diferenciales ordinarias y parciales. Incluye más de 100 ejercicios y 30 ejemplos resueltos con rutinas MATLAB para fines didácticos.
1. Este documento introduce el uso básico de MATLAB para trabajar con vectores, funciones y matrices. MATLAB permite realizar cálculos numéricos de manera interactiva mediante comandos de una línea.
2. Se explican comandos básicos como help, clear, diary y format para obtener ayuda, limpiar variables, guardar sesiones y establecer la precisión numérica. También se describen cómo crear, editar y operar con vectores, matrices y funciones en MATLAB.
3. El documento concluye explicando cómo crear y manipular matrices usuales
Este documento resume un taller de recuperación sobre componentes electrónicos y la ley de Ohm para el grado 10. Contiene ejercicios para identificar componentes en diagramas, listar componentes enumerados, y calcular magnitudes eléctricas como voltaje, corriente y resistencia usando la ley de Ohm. El estudiante completó con éxito la mayoría de los ejercicios.
El documento habla sobre el anime. Explica que el anime es un estilo de animación japonés que a menudo se basa en mangas. Se caracteriza por tener personajes con ojos grandes y expresivos, y gráficos detallados. El anime puede estar dirigido a todas las edades y trata temas complejos a través de tramas dramáticas que exploran a los personajes. Algunos animes populares mencionados son Naruto, Dragon Ball Z y Death Note.
Este documento presenta las actividades de ambientación para los estudiantes de primer año en un colegio. Incluye un recorrido por las instalaciones, presentaciones, y una discusión sobre las normas, expectativas y habilidades sociales para enfrentar temores en esta nueva etapa.
Este documento proporciona una introducción al software Simulink. Simulink permite modelar y simular sistemas dinámicos usando diagramas de bloques de manera interactiva. Incluye una biblioteca extensa de bloques para modelar diferentes tipos de sistemas. Los modelos se construyen conectando bloques gráficamente y se pueden simular para ver los resultados. Simulink está integrado con MATLAB para un ambiente de modelado y simulación completo.
Este documento presenta una introducción a MATLAB y Simulink para el análisis y simulación de sistemas de control. Explica cómo convertir funciones de transferencia a formatos de polos y ceros, calcular raíces de polinomios, y obtener respuestas al impulso y escalón. También muestra cómo crear gráficos y modelos de lazo cerrado usando estas herramientas. Finalmente, introduce el uso básico de Simulink para modelar y simular sistemas de control.
1) El documento introduce el curso "Introducción a la Programación de Computadoras con MATLAB". El curso enseña los elementos básicos de la programación a través del entorno MATLAB.
2) Los estudiantes aprenderán a crear programas en MATLAB y estarán preparados para enfrentar otros lenguajes como C++ o Visual Basic.
3) El curso cubre temas como gráficas, funciones, control de flujo, análisis de señales y más, evaluando a los estudiantes en la creación de un programa.
1. El documento presenta un laboratorio sobre procesamiento de imágenes en MATLAB, con objetivos como leer, mostrar y almacenar imágenes, identificar tipos y formatos de imágenes, y manipular pixeles.
2. Se describen conceptos teóricos como iluminación, modos de color e conversiones.
3. El procedimiento incluye desarrollar funciones para conversiones entre modos de color, negativos, binarización, zoom y operaciones lógicas.
Este documento presenta un curso rápido de Matlab. El curso consta de 7 temas principales: introducción a Matlab, estructuras básicas de datos, programación en Matlab, estructuras avanzadas de datos, optimización de código, representaciones gráficas y desarrollo de aplicaciones con Matlab. Se detallan los contenidos de cada tema y se proporcionan ejemplos para ilustrar conceptos como variables, vectores, matrices y operaciones en Matlab.
El documento presenta una introducción a la transformada Z y sus aplicaciones en control digital con MATLAB. Explica las transformadas Z de funciones elementales como escalón unitario, rampa unitaria, potencial, exponencial y senoidal. Luego, describe propiedades y teoremas como linealidad, multiplicación por constantes, traslación, corrimiento, suma de funciones y valores inicial y final. Finalmente, introduce conceptos de ecuaciones en diferencia, funciones de transferencia y modelado en Simulink.
Este documento presenta varios operadores para la detección de bordes en imágenes digitales. Explica el operador de Canny, Sobel, Prewitt y cómo calcular el gradiente. También cubre cómo implementar estos algoritmos y usar las funciones edge y fspecial en MatLab para detectar bordes verticales, horizontales y compuestos. El objetivo es que los estudiantes entiendan y apliquen diferentes métodos para detectar bordes en imágenes.
Guia rapida de matlab (comandos basicos, graficacion y programacion)morones.om
Este documento presenta una guía rápida de MATLAB. Explica cómo iniciar y finalizar una sesión con MATLAB, describe el entorno gráfico bajo Windows y Linux, e introduce conceptos básicos de programación en MATLAB como entrada/salida de datos, asignaciones, estructuras de control, funciones y gráficos.
Mathematica es un programa de cómputo simbólico y numérico desarrollado originalmente por Stephen Wolfram y su compañía Wolfram Research. Permite realizar cálculos matemáticos, estadísticos, ingenieriles y científicos. Incluye funciones para álgebra, cálculo, estadística y gráficos interactivos. El programa consta de un núcleo de cómputo y una interfaz gráfica basada en cuadernos de trabajo.
Este documento presenta un manual de uso de MATLAB. Explica conceptos básicos como variables, vectores, matrices, operaciones matemáticas, bucles y condicionales. También cubre cálculo simbólico, gráficos, ecuaciones diferenciales y funciones numéricas. El manual proporciona instrucciones detalladas sobre cómo utilizar estas herramientas en MATLAB.
Utp pdiva_lab4_procesamiento digital de imagenes con matlab iijcbenitezp
Este documento presenta una introducción al procesamiento digital de imágenes con MATLAB. Explica conceptos básicos como la representación de imágenes en escala de grises y a color, y funciones para la lectura, escritura, visualización y acceso a píxeles de imágenes. También describe el uso del Toolbox de Procesamiento de Imágenes de MATLAB para implementar algoritmos de visión artificial de manera eficiente.
Este documento resume las principales funciones y comandos de MATLAB. MATLAB es un programa comercial para realizar cálculos matemáticos y generar gráficos. Ofrece herramientas para el análisis numérico, procesamiento de señales y matrices. Incluye paquetes especializados llamados toolboxes. MATLAB se inicia directamente desde Windows y permite evaluar comandos en la línea de comandos.
Este documento proporciona una guía básica de Matlab. Explica conceptos fundamentales como variables, operaciones matemáticas, funciones, derivadas e integrales. También cubre temas como matrices, gráficas, ecuaciones y sistemas de ecuaciones. Finalmente, presenta comandos útiles como 'for', 'if' y funciones personalizadas.
El documento proporciona una introducción a MATLAB, incluyendo su origen, plataformas compatibles y productos relacionados como Simulink. También describe varias librerías de aplicaciones de MATLAB como Signal Processing Toolbox, MATLAB C Math Library, MATLAB Compiler Toolbox y otras herramientas que extienden sus capacidades en áreas como procesamiento de señales, álgebra, gráficos y simulación.
TÓPICOS DE MATLAB: APLICACIÓN A LOS MÉTODOS NUMÉRICOS.WALTER YSIQUE
El documento presenta métodos numéricos implementados en MatLab, incluyendo interpolación polinómica, cálculo de raíces, derivadas, integrales y ecuaciones diferenciales. Describe los métodos de interpolación de Lagrange y Hermite, así como métodos para encontrar raíces como bisección, secante, falsa posición y Newton. Explica cómo implementar estas técnicas numéricas usando funciones en MatLab.
Este documento presenta un libro sobre métodos numéricos utilizando MATLAB. Contiene 8 capítulos que cubren temas como ecuaciones no lineales, interpolación, integración numérica, ecuaciones diferenciales ordinarias y parciales. Incluye más de 100 ejercicios y 30 ejemplos resueltos con rutinas MATLAB para fines didácticos.
1. Este documento introduce el uso básico de MATLAB para trabajar con vectores, funciones y matrices. MATLAB permite realizar cálculos numéricos de manera interactiva mediante comandos de una línea.
2. Se explican comandos básicos como help, clear, diary y format para obtener ayuda, limpiar variables, guardar sesiones y establecer la precisión numérica. También se describen cómo crear, editar y operar con vectores, matrices y funciones en MATLAB.
3. El documento concluye explicando cómo crear y manipular matrices usuales
Este documento resume un taller de recuperación sobre componentes electrónicos y la ley de Ohm para el grado 10. Contiene ejercicios para identificar componentes en diagramas, listar componentes enumerados, y calcular magnitudes eléctricas como voltaje, corriente y resistencia usando la ley de Ohm. El estudiante completó con éxito la mayoría de los ejercicios.
El documento habla sobre el anime. Explica que el anime es un estilo de animación japonés que a menudo se basa en mangas. Se caracteriza por tener personajes con ojos grandes y expresivos, y gráficos detallados. El anime puede estar dirigido a todas las edades y trata temas complejos a través de tramas dramáticas que exploran a los personajes. Algunos animes populares mencionados son Naruto, Dragon Ball Z y Death Note.
Este documento presenta las actividades de ambientación para los estudiantes de primer año en un colegio. Incluye un recorrido por las instalaciones, presentaciones, y una discusión sobre las normas, expectativas y habilidades sociales para enfrentar temores en esta nueva etapa.
Este documento describe los virus informáticos, incluyendo su definición, tipos, formas de propagación e infección, y métodos de detección y eliminación. Explica que un virus informático es un programa malicioso que se replica a sí mismo y altera el funcionamiento de las computadoras sin el permiso del usuario. Describe varios tipos de virus como gusanos, caballos de Troya, bombas lógicas y hoaxes. También explica cómo se propagan los virus y cómo se pueden detectar y eliminar con antivirus y otras precauciones
Este documento describe qué es una página web y un editor de páginas web. Explica que una página web es un documento electrónico que contiene información como texto, imágenes o videos y que está diseñado para el World Wide Web. Un editor de páginas web es una herramienta que permite crear y modificar páginas web de manera fácil. Existen diferentes tipos de editores como los editores de texto, WYSIWYG y Windows. Finalmente, se mencionan algunas ventajas y desventajas de los editores de p
Microsoft Windows es el nombre de una familia de sistemas operativos desarrollados y vendidos por Microsoft que dominó el mercado mundial de computadoras personales con más del 90% de la cuota de mercado. Las versiones más recientes de Windows son Windows 8 para equipos de escritorio, Windows Server 2012 para servidores y Windows Phone 8 para dispositivos móviles, los cuales son muy importantes porque permiten operar diferentes tipos de máquinas.
Ubuntu es una distribución de Linux desarrollada por Canonical para usuarios inexpertos, con el objetivo de hacer Debian más fácil de usar. Kali Linux es una distribución especializada en pruebas de penetración y auditorías de seguridad, con más de 300 herramientas para este fin, pero no es recomendable para usuarios sin experiencia en Linux.
Este documento proporciona información sobre Twitter. Twitter es un servicio de microblogging con sedes en San Francisco, California y filiales en otros estados de EE.UU. Fue creado en 2006 y ahora tiene más de 200 millones de usuarios que publican 65 millones de tweets diarios. El documento también analiza quién utiliza Twitter en EE.UU., encontrando que los jóvenes, residentes de ciudades, latinos y afroamericanos tienen más probabilidades de usarlo.
El documento describe los 8 planetas del Sistema Solar, comenzando con Mercurio, el más cercano al Sol, y terminando con Neptuno, el más lejano. Entre Marte y Júpiter se encuentra el Cinturón de Asteroides. Los planetas interiores son rocosos, mientras que los exteriores son gigantes gaseosos. Cada planeta se distingue por sus características físicas y orbitales únicas.
Este documento describe diferentes tipos de blogs y herramientas para crearlos. Explica que un blog es una publicación en línea con historias en orden cronológico inverso. Luego menciona populares sistemas para blogs como Blogger de Google y WordPress, así como Edublog para fines educativos. Finalmente, resume algunas características clave de los blogs como su enfoque temático y la interacción que permiten.
El documento describe las características arquitectónicas del estilo gótico, incluyendo el uso de vitrales, arbotantes y contrafuertes para mejorar la iluminación y elevar la altura de los edificios, así como la introducción de bóvedas de crucería. También resume varias catedrales góticas importantes como Notre Dame, Toledo, Burgos y León.
El documento proporciona instrucciones en 6 pasos para agregar una radio a un blog de Blogger: 1) Iniciar sesión en Blogger, 2) Hacer clic en "nueva entrada", 3) Seleccionar "diseño" y luego "añadir un gadget" para buscar y seleccionar la opción "radio", 4) Seleccionar la radio deseada, y 5) Guardar los cambios para que la radio aparezca en el blog.
Este documento presenta conceptos básicos sobre imágenes digitales y su procesamiento en MATLAB. Introduce cómo las imágenes se representan como matrices en MATLAB y explica funciones para leer y escribir imágenes desde archivos. Luego describe operaciones básicas de procesamiento de imágenes como filtrado, detección de bordes, umbralización y transformaciones morfológicas. Finalmente presenta la herramienta vfm para captura de imágenes.
Este documento presenta una introducción al uso de Java2D para el renderizado de figuras, imágenes y texto en dos dimensiones. Explica los conceptos básicos de Graphics2D como atributos de pincel, relleno, transformaciones y composición de objetos. Luego cubre temas como figuras geométricas, fuentes de texto, carga y renderizado de imágenes. El objetivo es proporcionar una guía práctica para crear gráficos 2D interactivos y animados en Java.
Este documento presenta un libro sobre el uso de Java2D para dibujar figuras, imágenes y texto en dos dimensiones. El libro explica conceptos clave como Graphics2D y sus atributos para el renderizado, así como cómo dibujar figuras geométricas, fuentes de texto, y trabajar con imágenes. Además, cubre temas como el sistema de coordenadas, transformaciones, composición y el tratamiento del color en Java2D.
Este documento trata sobre el uso de Java2D para el renderizado de figuras, imágenes y texto en dos dimensiones. Explica conceptos clave como Graphics2D, coordenadas, colores, fuentes y formas geométricas. Además, contiene ejemplos de cómo cargar, mostrar y modificar imágenes, así como dibujar diferentes tipos de figuras y texto. El documento está dividido en cinco capítulos que cubren de forma pormenorizada estos temas.
Este documento trata sobre el uso de Java2D para dibujar figuras, imágenes y texto en dos dimensiones. Explica conceptos básicos como el renderizado con Graphics2D, las figuras geométricas que se pueden dibujar, el tratamiento de fuentes y texto, y el procesamiento de imágenes. Además, contiene cinco capítulos que describen en detalle cómo realizar estas tareas con Java2D.
Este documento trata sobre el uso de Java2D para dibujar figuras, imágenes y texto en dos dimensiones. Explica conceptos básicos como el renderizado con Graphics2D, las figuras geométricas que se pueden dibujar, el tratamiento de fuentes y texto, y el procesamiento de imágenes. Además, detalla diversos temas como el sistema de coordenadas de Java2D, la modificación del contexto gráfico y las transformaciones de objetos.
Este documento describe un sistema de visión artificial para el reconocimiento y manipulación de objetos utilizando un brazo robot. El sistema incluye una cámara, tarjeta de captura de video e interfaz con el brazo robot. La imagen capturada es procesada mediante conversión a escala de grises, umbralización, erosión, dilatación y etiquetado para segmentar los objetos. Luego, una red neuronal entrenada clasifica los objetos y guía las acciones del brazo robot.
El documento describe el diseño e implementación de una aplicación desarrollada en Matlab para analizar radiografías. La aplicación tiene tres partes: una ventana principal para visualizar radiografías, un menú lateral y un área inferior para mostrar resultados. La sección de implementación detalla el cálculo del índice de Taguchi y análisis de texturas usando funciones de Matlab como imcrop, edge y hough.
Este documento presenta una guía básica de referencia y aprendizaje sobre el programa GIMP. Explica las ventanas, diálogos y herramientas principales de GIMP como la caja de herramientas, el área de trabajo de la imagen y el diálogo de capas. Además, introduce conceptos como la carga y guardado de imágenes y el trabajo por capas.
Este documento presenta una guía básica de referencia y aprendizaje sobre el programa GIMP. Explica las ventanas y diálogos principales de GIMP como la caja de herramientas, el área de trabajo de la imagen y el diálogo de capas, canales y caminos. También introduce conceptos como cargar, guardar y crear imágenes, y los formatos de imagen compatibles con GIMP como XCF, PAT, TIFF y JPEG.
Este documento describe el desarrollo de un programa en Matlab para analizar 20 imágenes que contienen 3 objetos fijos y 1 objeto móvil. El programa identificará la ubicación de los objetos fijos en cada imagen y graficará la trayectoria del objeto móvil en una imagen combinada.
Este manual presenta 10 prácticas para introducir conceptos básicos de fotointerpretación digital usando ERDAS Imagine 2014. La primera práctica cubre visualización de imágenes de diferentes resoluciones como SPOT, Landsat y MODIS, y obtención de firmas espectrales. El objetivo general es familiarizar a los estudiantes con técnicas de fotointerpretación para proyectos académicos.
Este documento proporciona una guía para utilizar el plugin V-Ray para SketchUp. Explica cómo instalar V-Ray, activarlo, y configurar los ajustes predeterminados. También cubre cómo agregar iluminación, materiales, cámaras, y otros elementos para lograr renders de alta calidad. El objetivo es ayudar a los diseñadores a sacar el máximo provecho de las funciones de renderizado de V-Ray dentro de SketchUp.
todo lo relacionado de como usar vray
manual vray creacion de ambientes y creacion de materiales.
uso detallado de las opciones de vray.
uso de indices de refraccion
IOR
Este documento presenta los resultados de procedimientos de procesamiento digital de imágenes realizados en MATLAB. Se importaron dos imágenes, una de alto contraste y otra de bajo contraste, y se mostraron en escala de grises. Luego, se halló su complemento, la transformada de Fourier discreta bidimensional y el histograma. Finalmente, se aplicó ecualización del histograma mediante la función Gamma para mejorar el contraste.
Este documento describe diferentes tipos de programas de diseño asistido por ordenador. Explica programas para diseñar objetos reales como AutoCAD y programas para diseño gráfico como Photoshop. También cubre conceptos como imágenes vectoriales vs. de mapa de bits, formatos de archivo y aplicaciones de diseño industrial como CAM y CAE.
Este proyecto describe la creación de un modelo del robot Robucar TT en el simulador Gazebo. Inicialmente se modela la geometría, cinemática y dinámica del robot basándose en su comportamiento real. Luego, se realizan pruebas con el robot físico y simulado para ajustar los parámetros del modelo. Adicionalmente, se estudia el modelado visual del robot y su entorno utilizando una cámara Kinect. El objetivo final es desarrollar un simulador realista que reproduzca fielmente el movimiento del
Este documento presenta el laboratorio 3 sobre procesamiento de imágenes y visión artificial. Los objetivos incluyen implementar algoritmos de segmentación de imágenes, analizar técnicas de reconocimiento de patrones, generar y convertir imágenes 3D, y analizar aplicaciones de la visión estereoscópica. El laboratorio involucra desarrollar programas en MatLab para demostrar estos conceptos a través de procedimientos y ejercicios.
Este documento presenta un resumen de los principales métodos numéricos para la solución de ecuaciones, sistemas de ecuaciones, derivadas numéricas, integrales numéricas y ecuaciones diferenciales. Explica conceptos como precisión, error y convergencia, así como métodos iterativos, de interpolación y de diferenciación/integración numérica. El documento provee una introducción general a estos temas y métodos a través de ejemplos expresados en lenguaje Scheme.
Este documento presenta el lenguaje de programación R como una herramienta para el análisis estadístico. Introduce los tipos de datos básicos en R como vectores, matrices, factores y data frames. Explica cómo manipular y acceder a porciones de datos, y describe el uso de estructuras de control y funciones para clasificar, transformar y agregar datos. Finalmente, cubre temas como la escritura de funciones y la generación de gráficos.
Similar a 140j9t1zwvw7elgr8qo1 090527055423-phpapp01 (20)
1. Visión por Computador utilizando MatLAB
Y el Toolbox de Procesamiento Digital de
Imágenes
Erik Valdemar Cuevas Jimenez
Daniel Zaldivar Navarro
2. Índice general
1. Introducción 4
2. Conceptos básicos de las imágenes 5
2.1. Lectura y escritura de imágenes a través de archivo . . . . . . . . 5
2.2. Acceso a píxel y planos en las imágenes . . . . . . . . . . . . . . 8
2.3. Sub-muestreo de imágenes . . . . . . . . . . . . . . . . . . . . . . 14
2.4. Tipo de dato de los elementos de una imagen . . . . . . . . . . . 14
3. Procesamiento de la imagen. 16
3.1. Filtraje espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Funciones para la extracción de bordes . . . . . . . . . . . . . . 18
3.3. Imágenes binarias y segmentación por umbral. . . . . . . . . . . 19
3.4. Operaciones morfológicas . . . . . . . . . . . . . . . . . . . . . . 20
3.5. Operaciones basadas en objetos . . . . . . . . . . . . . . . . . . . 21
3.6. Selección de objetos . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.7. Medición de características . . . . . . . . . . . . . . . . . . . . . 27
3.8. Funciones para la conversión de imágenes y formatos de color . . 29
4. La herramienta vfm 32
4.1. Captura de la imagen en matlab . . . . . . . . . . . . . . . . . . 33
1
3. Índice de figuras
2.1. Representación de una imagen a escala de grises en MatLAB. . . 6
2.2. Representación de una imagen a color RGB en MatLAB. . . . . . 7
2.3. Imagen mostrada al utilizar la función imshow. . . . . . . . . . . 9
2.4. Obtención del valor de un píxel de image2. . . . . . . . . . . . . 9
2.5. Planos de la imagen a) rojo, b) verde y c) azul. . . . . . . . . . . 10
2.6. Utilización de la función impixel. . . . . . . . . . . . . . . . . . 12
2.7. Utilización de la función improfile. . . . . . . . . . . . . . . . . 13
2.8. Ejemplo de submuestreo . . . . . . . . . . . . . . . . . . . . . . . 14
3.1. Filtrado espacial por una mascara de 3 x 3. . . . . . . . . . . . . 17
3.2. Imagen resultado del filtraje espacial. . . . . . . . . . . . . . . . . 18
3.3. Imagen resultado de la aplicación del algoritmo de canny. . . . . 19
3.4. a) imagen original y b) imagen resultado de la aplicación de un
umbral de 128. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5. a) imagen original y b) imagen resultado de la aplicación de la
operación morfológica considerando la rejilla de 3 x 3. . . . . . . 21
3.6. Imagen resultado de la función erode. . . . . . . . . . . . . . . . 22
3.7. Imagen binaria conteniendo un objeto. . . . . . . . . . . . . . . . 22
3.8. (a) Conectividad conexión-8 y (b) conexión-4. . . . . . . . . . . . 22
3.9. Problema al elegir la conectividad. . . . . . . . . . . . . . . . . . 23
3.10. a) Imagen original binaria, b) imagen resultado de la operación
bwlabel Considerando como conectividad conexión-4 y (c) la cod-
ificación de color. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.11. Ejemplo de imagen indexada. . . . . . . . . . . . . . . . . . . . . 24
3.12. a)Imagen a escala de grises e b) imagen binarizada. . . . . . . . . 25
3.13. Resultado de el ejemplo de la función bwlabel. . . . . . . . . . . 26
3.14. a) Imagen a escala de grises e b) imagen binarizada. . . . . . . . 26
3.15. Representación de la variable imagesegment. . . . . . . . . . . 27
3.16. Imagen utilizada para ejemplificar el uso de la función imfeature. 28
3.17. Identificación de los centroides. . . . . . . . . . . . . . . . . . . . 29
3.18. Imagen RGB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.19. Imagen HSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.20. Planos de la imagen a) H, b) S y c) V. . . . . . . . . . . . . . . . 31
2
4. ÍNDICE DE FIGURAS 3
4.1. Ventana de la herramienta vfm. . . . . . . . . . . . . . . . . . . . 33
4.2. Proceso de captura de la herramienta vfm. . . . . . . . . . . . . 34
5. Capítulo 1
Introducción
La implementación de algoritmos en visión por computador resulta muy cos-
toso en tiempo ya que se requiere de la manipulación de punteros, gestión de
memoria, etc. Hacerlo en lenguaje C++ (que por sus características compar-
tidas de alto y bajo nivel lo hacen el mas apropiado para la implementación de
algoritmos de visión computacional) supondría la inversion de tiempo y sin la
seguridad de que lo queremos implementar funcionará. Además utilizar C++
para el periodo de prueba exige un tiempo normal de corrección de errores de-
bidos al proceso de implementación del algoritmo, es decir errores programáticos
efectuados por ejemplo al momento de multiplicar dos matrices, etc. Todos estos
problemas pueden ser resueltos si la implementación de prueba es realizada en
MatLAB utilizando su toolbox de procesamiento de imágenes con ello el tiem-
po de implementación se convierte en el mínimo con la confianza de utilizar
algoritmos científicamente probados y robustos.
El toolbox de procesamiento de imágenes contiene un conjunto de funciones
de los algoritmos mas conocidos para trabajar con imágenes binarias, trasfor-
maciones geométricas, morfología y manipulación de color que junto con las
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).
Este documento esta dividido en 3 partes, en el capitulo 2 se trata los con-
ceptos básicos de las imágenes y como son representadas en matlab así como
una introducción a las operaciones básicas de manejo de archivos. En el capitulo
3 se aborda el procesamiento de imágenes mas comunes y representativos en el
área de visión computacional ; explicando el uso de estas funciones a través de
ejemplos. Por ultimo en el capitulo 4 se explica el uso de la herramienta vfm
utilizada para la captura de imágenes captadas por dispositivos instalados en la
computadora tales como tarjetas captadoras y USB Webcams.
4
6. Capítulo 2
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. El elemento v11 corresponde
al elemento de la esquina superior izquierda (ver figura 1.1), donde cada elemento
de la matriz de la imagen tiene un valor de 0 (negro) a 255 (blanco).
Por otro lado una imagen de color RGB (la mas usada para la visión
computacional, 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 que puede ser 1 para el rojo, 2 para el verde y 3 para el
azul. La figura 2.2 muestra detalles de estos conceptos.
2.1. Lectura 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’)
Donde nombre del archivo es una cadena de caracteres conteniendo el nombre
completo de la imagen con su respectiva extensión, los formatos de imágenes
que soporta matlab son los mostrados en la tabla 2.1.
Para introducir una imagen guardada en un archivo con alguno de los for-
matos especificados en la tabla anterior solo tiene que usarse la función imread
y asignar su resultado a una variable que representará a la imagen ( deacuerdo
a la estructura, Figura 2.1 para representar escala de grises y Figura 2.2 para
5
7. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 6
v11 v12 v1n
v v22 v2 n
I ( x, y ) = 21
vm1 vm 2 vmn
m
n
Figura 2.1: Representación de una imagen a escala de grises en MatLAB.
Formato Extensión
TIFF .tiff
JPEG .jpg
GIF .gif
BMP .bmp
PNG .png
XWD .xwd
Cuadro 2.1: Formatos y extensiones soportadas por MatLAB.
8. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 7
r11 r12 r1n g11 g12 g1n b11 b12 b1n
r r2 n b b2 n
r22 I ( m, n, 2) = g 21 g 22 g2n b22
I R (m, n,1) = 21 I B ( m, n, 3) = 21
G
rm1 rm 2 rmn g m1 gm2 g mn bm1 bm 2 bmn
I(m,n,p)
n
IG(m,n) IB(m,n) m
IR(m,n)
Figura 2.2: Representación de una imagen a color RGB en MatLAB.
9. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 8
RGB). De tal forma que si se quisiera introducir la imagen contenida en el archi-
vo data.jpg a una variable para su procesamiento en matlab, entonces se tendría
que escribir en línea de comandos:
> >image=imread(’data.jpg’);
con ello la imagen contenida en el archivo data.jpg quedará contenida en la
variable image.
Una vez que la imagen esta contenida en una variable 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(image);
en donde m y n contendrán los valores de las dimensiones de la imagen.
Para grabar el contenido de una imagen en un archivo se utiliza la función
imwrite(variable,’nombre del archivo’), en donde variable representa la
variable que contiene a la imagen y nombre del archivo el nombre del archivo
con su respectiva extensión de acuerdo a la tabla 2.1. Suponiendo que la vari-
able image2 contiene la imagen que nos interesa grabar en el archivo dato2.jpg
tendríamos que escribir:
> >imwrite(image2, ’data2.jpg’) ;
Después que realizamos un procesamiento con la imagen, es necesario de-
splegar el resultado obtenido, la función imshow(variable) permite desplegar
la imagen en una ventana en el ambiente de trabajo de matlab. Si la variable a
desplegar por ejemplo, es face al escribir en la línea de comandos:
> >imshow(face);
obtendríamos la imagen de la figura 2.3.
2.2. Acceso a píxel y planos en las imágenes
El acceso a píxel de una imagen es una de las operaciones mas comunes en
visión computacional y en matlab esta sumamente simplificado; solo bastará
con indexar el píxel de interés en la estructura de la imagen. Consideremos
que tenemos una imagen image1 en escala de grises (Figura 2.4) y deseamos
obtener su valor de intensidad en el píxel especificado por m=100 y n=100 ;
solo tendríamos que escribir
> >image1(100,100)
ans =
84
10. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 9
Figura 2.3: Imagen mostrada al utilizar la función imshow.
n
100
m
100
Figura 2.4: Obtención del valor de un píxel de image2.
11. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 10
(a) (b) (c)
Figura 2.5: Planos de la imagen a) rojo, b) verde y c) azul.
De igual forma si se desea cambiar el valor de este píxel a negro, es decir
asignarle el valor de 0 lo que tendría que escribirse en línea de comandos es:
> >image1(100,100)=0 ;
En el caso de imágenes a escala de grises estas solo tienen un plano, constitu-
ido por la matriz m x n que contiene los valores de intensidad para cada índice.
Sin embargo las imágenes de color cuentan con mas de un plano. En el caso de
imágenes RGB (tal como se explico arriba) estas cuentan con 3 planos uno para
cada color que representa. Consideremos ahora que la imagen RGB contenida
en la variable image2 es la mostrada en la figura 2.3, y deseamos obtener cada
uno de los planos que la componen. Entonces escribiríamos:
> >planeR=image2( :, :,1) ;
> >planeG=image2( :, :,2) ;
> >planeB=image2( :, :,3) ;
Los planos resultantes por los anteriores comandos son mostrados en la figura
2.5.
Si se deseará manipular un píxel de una imagen a color RGB este tendrá un
valor para cada uno de sus planos correspondientes. Supongamos que tenemos
la imagen RGB contenida en la variable image2 y deseamos obtener el valor
del píxel m=100 y n=100 para cada uno de los diferentes planos R, G y B.
Tendríamos que escribir:
> >valueR=image2(100,100,1) ;
> >valueG=image2(100,100,2) ;
> >valueB=image2(100,100,3) ;
Lo cual dará como resultado una tripleta de valores. De igual forma que con
el caso de escala de grises podemos modificar este píxel a otro color mediante
el cambio de su valor en cada uno de sus respectivos planos; por ejemplo un
cambio a color blanco mediante:
12. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 11
> >image2(100,100,1)=255;
> >image2(100,100,2)=255;
> >image2(100,100,3)=255;
En ocasiones resulta preferible saber el color o la intensidad de gris (el valor
del píxel) de forma iteractiva, 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 iterativamente 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:
value=impixel;
Donde value 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.
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.
La figura 2.6 muestra una imagen de la operación aquí descrita.
Una operación importante en visión computacional es el determinar un perfil
de la imagen; es decir convertir un segmento de la imagen a una señal unidi-
mensional para analizar sus cambios. Esto es de especial significado en la visión
estereo en donde se analizan para los algoritmos segmentos epipolares de cada
camara. Matlab dispone de la función improfile que permite trazar el segmento
interactivamente con el ratón, desplegando después el perfil de la imagen en una
grafica diferente. Esta función necesita que la imagen original sea previamente
desplegada mediante la función imshow. Debe de considerarse que si la imagen
es a escala de grises, el perfil mostrara solo una señal correspondiente a las fluc-
tuaciones de las intensidades de la imagen, sin embargo si la señal es de color
RGB esta mostrara un segmento de señal para cada plano. Para la utilización
de esta función solo es necesario escribir en línea de comandos
> >improfile
como es una función iteractiva en cuanto el ratón se encuentra en la super-
ficie de la imagen el puntero cambiara de símbolo a una +, de esta manera
podemos mediante el establecimiento de una línea en la imagen configurar el
perfil deseado. La figura 2.7 muestra una imagen de la operación descrita.
13. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 12
Figura 2.6: Utilización de la función impixel.
14. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 13
Perfiles RGB
Figura 2.7: Utilización de la función improfile.
15. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 14
v11 v12 v13 v14 v15 v16 v17
Figura 2.8: Ejemplo de submuestreo
2.3. Sub-muestreo de imágenes
En ocasiones es necesario hacer cálculos que requieren procesar por completo
la imagen, en estos casos hacerlo sobre la resolución original de la imagen seria
muy costoso. Una alternativa mas eficiente, resulta el sub-muestreo de la imagen.
Sub-muestreo significa generar una imagen a partir de tomar muestras periódicas
de la imagen original, de tal forma que esta quede mas pequeña. Si se considera
la imagen I(m,n) definida como:
v11 v12 v13 · · · v1n
v21 v22 v23 · · · v2n
I(m, n) = v31 v32 v33 · · · v3n (2.1)
. . . .. .
. . .
. .
. . .
.
vm1 vm2 vm3 · · · vmn
y se desa sub-muestrear la imagen para obtener la mitad de su tamano
original, asi la nueva imagen quedaría compuesta por los elementos tomando
uno si y otro no de la imagen original:
v11 v13 v15 ··· v1(n−2)
v31 v33 v35 ··· v3(n−2)
v51 v53 v55 ··· v5(n−2)
IS2 (m, n) = (2.2)
.
. .
. .
. .. .
.
. . . . .
v(m−2)1 v(m−2)3 v(m−2)5 ··· v(m−2)(n−2)
El mismo concepto se explica graficamente en la figura 2.8.
Considerando que se tiene la imagen RGB en la variable image2 y la Sub-
muestreamos a la mitad tendríamos que escribir el siguiente código en la línea
de comandos:
> >imageSub2=image2(1:2:end,1:2:end,1:1:end);
2.4. Tipo de dato de los elementos de una imagen
Los elementos que constituyen una imagen en matlab tienen el formato en-
tero uint8, que es un tipo de dato que puede variar de 0 a 255, sin poder
16. CAPÍTULO 2. CONCEPTOS BÁSICOS DE LAS IMÁGENES 15
soportar decimales y valores que salgan fuera de ese rango. Lo anterior resulta
una desventaja principalmente en aquellos casos donde se implementan algorit-
mos que trabajan con este tipo de datos para realizar operaciones de división o
multiplicación por tipo de dato flotante. En estos casos es necesario trasformar
la imagen de tipo de dato uint8 a double. Es importante tener en cuenta que si
se utiliza la función imshow para desplegar las imágenes; esta no tiene la capaci-
dad de poder desplegar imágenes del tipo double por lo que una vez realizado
las operaciones de punto flotante es necesario después convertir al tipo de dato
uint8. Supongamos que tenemos una imagen de escala de grises representada en
la variable imagegray y queremos reducir sus intensidades a la mitad, entonces
escribiríamos:
> >imagegrayD=double(imagegray) ;
> >imagegrayD=imagegrayD*0.5 ;
> >imagegray=uint8(imagegrayD) ;
> >imshow(imagegray) ;
17. Capítulo 3
Procesamiento de la imagen.
El numero de funciones que implementa el toolbox para el procesamiento de
imagen es muy diverso, sin contar la múltiple oferta de funciones ya generada por
otros usuarios y disponibles a través del Internet, sin embargo en este tutorial
serán tratadas algunas consideradas como las mas usadas y útiles para la visión
computacional.
3.1. Filtraje espacial
El filtraje espacial es una de las operaciones comunes en la visión computa-
cional ya sea para realizar efectos de eliminación de ruido o bien detección de
bordes. En ambos casos la determinación de los píxeles de la nueva imagen de-
penden del píxel de la imagen original y sus vecinos. De esta forma es necesario
configurar una matriz (mascara o ventana) que considere cuales vecinos y en
que forma influirán en la determinación de el nuevo píxel. Consideremos una
imagen IS (m, n).
vs11 vs12 vs13 · · · vs1n
vs21 vs22 vs23 · · · vs2n
IS (m, n) = vs31 vs32 vs33 · · · vs3n
. . . .. .
. . .
. .
. . .
.
vsm1 vsm2 vsm3 · · · vsmn
que será la imagen a la cual pretendemos filtrar espacialmente y IT (m, n):
vt11 vt12 vt13 · · · vt1n
vt21 vt22 vt23 · · · vt2n
IT (m, n) = vt31 vt32 vt33 · · · vt3n
. . . .. .
. . .
. .
. . .
.
vtm1 vtm2 vtm3 ··· vtmn
16
18. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 17
(i-1,j-1) (i-1,j) (i-1,j+1)
(i,j-1) (i,j) (i,j+1) (i,j)
(i+1,j-1) (i+1,j) (i+1,j+1)
w11 w12 w13
1
w= w21 w22 w23
h
w31
w32
w33
Figura 3.1: Filtrado espacial por una mascara de 3 x 3.
como la imagen resultante ; si además consideramos a w(r,t) la matriz que se
utiliza para realizar el filtrado :
w w12 w13
1 11
w= w21 w22 w23
h
w31 w32 w33
donde r =3 y t=3,tendremos que cada elemento de IT (m, n) es calculado:
1
vtij = [w22 vsij + w11 vs(i−1)(j−1) + w12 vs(i−1)j + w13 vs(i−1)(j+1) · · ·
h
+w21 vsi(j−1) + w23 vsi(j+1) + w31 vs(i+1)(j−1) + w32 vs(i+1)j + w33 vs(i+1)(j+1) ]
La figura 3.1 muestra estos detalles.
Para desarrollar en matlab este tipo de operaciones se utiliza la función
nlfilter, cuya estructura es la siguiente:
IT=nlfilter(IS,[i j],fun);
donde IT es la variable que contiene la imagen resultado de la operación, IS
es la variable que contiene a la imagen original, [i j] son las dimensiones de la
mascara que define la influencia de los vecinos para el calculo del nuevo píxel por
ultimo fun representa la función que desarrolla el calculo sobre los elementos
de la vecindad definidos de dimensión i x j.
La función fun recibe como entrada una matriz x de i x j datos corre-
spondientes a los vecinos de la imagen los cuales son procesados por la función
devolviendo el valor que corresponde al dato centrado en la mascara.
19. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 18
Figura 3.2: Imagen resultado del filtraje espacial.
Si se deseara implementar un filtro pasabajas sobre la imagen de la figura
2.3 que esta representada en la variable image3, teniendo como estructura la
mascara:
1 1 1
1
w= 1 1 1
9
1 1 1
entonces se implementa un archivo .m con nombre myfunction y cuyo con-
tenido estará integrado por las siguientes líneas
function result=myfunction(x)
result=1/9*(x(1,1)+x(1,2)+x(1,3)...
+x(2,1)+x(2,2)+x(2,3)+x(3,1)+x(3,2)+x(3,3));
Para desempeñar el filtrado se escribiría en línea de comandos
> >image3=double(image3);
> >imageR=nlfilter(image3,[3 3],@myfunction);
> >imageR=uint8(imageR);
> >imshow(imageR);
El resultado es desplegado en la figura 3.2.
3.2. Funciones para la extracción de bordes
En visión computacional es de utilidad para hacer reconocimiento de objetos
o bien para segmentar regiones, extraer los bordes de objetos (que en teoría
delimitan sus tamaños y regiones). La función edge da la posibilidad de obtener
los bordes de la imagen. La función permite encontrar los bordes a partir de dos
diferentes algoritmos que pueden ser elegidos, canny y sobel. El formato de esta
función es:
20. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 19
Figura 3.3: Imagen resultado de la aplicación del algoritmo de canny.
ImageT=edge(ImageS, algoritmo);
Donde ImageT es la imagen obtenida con los bordes extraídos, ImageS
es la variable que contiene la imagen en escala de grises a la cual se pretende
recuperar sus bordes, mientras que algoritmo puede ser uno de los dos canny o
sobel. De tal forma que si a la imagen en escala de grises contenida en la variable
imagegray se le quieren recuperar sus bordes utilizando en algoritmo canny se
escribiría en línea de comandos:
> >ImageR=edge(imagegray,canny);
La figura 3.3 muestra un ejemplo del uso de esta función.
3.3. Imágenes binarias y segmentación por um-
bral.
Una imagen binaria es una imagen en la cual cada píxel puede tener solo uno
de dos valores posibles 1 o 0. Como es lógico suponer una imagen en esas condi-
ciones es mucho mas fácil encontrar y distinguir características estructurales.
En visión computacional el trabajo con imágenes binarias es muy importante
ya sea para realizar segmentación por intensidad de la imagen, para generar
algoritmos de reconstrucción o recoconocer estructuras.
La forma mas común de generar imágenes binarias es mediante la utilización
del valor umbral de una imagen a escala de grises; es decir se elige un valor limite
(o bien un intervalo) a partir del cual todos los valores de intensidades mayores
serán codificados como 1 mientras que los que estén por debajo serán codificados
a cero. En matlab este tipo de operaciones se realizan de forma bastante sencilla
utilizando las propiedades de sobrecarga de los símbolos relaciónales.
Por ejemplo si de la imagen sample quisiera realizarse este tipo de operación
de tal forma que los píxeles mayores a 128 sean considerados como 1 y los que
son menores o iguales a 128 como cero, se escribiría en línea de comandos como
21. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 20
(a) (b)
Figura 3.4: a) imagen original y b) imagen resultado de la aplicación de un
umbral de 128.
> >result=sample>=128;
La figura 3.4 muestra la imagen original y el resultado de haber aplicado la
anterior instrucción.
3.4. Operaciones morfológicas
Una de las operaciones mas utilizadas en visión sobre imágenes previamente
binarizadas es las operaciones morfológicas. Las operaciones morfológicas son
operaciones realizadas sobre imágenes binarias basadas en formas. Estas opera-
ciones toman como entrada una imagen binaria regresando como resultado una
imagen también binaria. El valor de cada píxel de la imagen binaria resultado
es basado en el valor del correspondiente píxel de la imagen original binaria
y de sus vecinos. Entonces eligiendo apropiadamente la forma de los vecinos a
considerar, puede construirse operaciones morfológicas sensibles a una forma en
particular.
Las principales operaciones morfológicas son la dilatación y la erosión. La
operación de dilatación adiciona píxeles en las fronteras de los objetos, mien-
tras la erosión los remueve. En ambas operaciones como se menciono se utiliza
una rejilla que determina cuales vecinos del elemento central de la rejilla serán
tomados en cuenta para la determinación del píxel resultado. La rejilla es un
arreglo cuadricular que contiene unos y ceros, en los lugares que contiene unos
serán los vecinos de la imagen original con respecto al píxel central, los cuales
serán tomados en consideración para determinar el píxel de la imagen resulta-
do, mientras que los lugares que tengan ceros no serán tomados en cuenta. La
imagen 3.5 muestra gráficamente el efecto de la rejilla sobre la imagen original
y su resultado en la imagen final.
Como muestra la figura 3.5 solo los píxeles de color amarillo en la imagen
original participan en la determinación del píxel rojo de la imagen resultado.
22. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 21
(a) (b)
Figura 3.5: a) imagen original y b) imagen resultado de la aplicación de la
operación morfológica considerando la rejilla de 3 x 3.
Una vez determinado el tamaño de la rejilla y su configuración. Se aplica
la operación morfológica. En el caso de la dilatación, si alguno de los píxeles
de la rejilla configurados como unos coincido con al menos uno de la imagen
original el píxel resultado es uno. Por el contrario en la erosión todos los píxel
de la rejilla configurados como unos deben coincidir con todos los de la imagen
si esto no sucede el píxel es 0.
En matlab las funciones utilizadas para realizar estas dos operaciones mor-
fológicas son erode y dilate. El formato de ambas funciones es:
ImageR=erode(ImageS,w);
ImageR=dilate(ImageS,w);
Donde ImageR es la variable que recibe a la imagen resultado, ImageS es
la imagen binaria origen a la que se desea aplicar la operación morfológica y
w es una matriz de unos y ceros que determina el formato y estructura de la
rejilla.
Consideremos que quisiéramos aplicar a la imagen binaria mostrada en la
figura 3.4 la operación morfológica de la erosión considerando como rejilla la
representada en la figura 3.5, entonces tendríamos que escribir suponiendo que
la imagen binaria es contenida en la variable imagebinary lo siguiente:
> >w=eye(3);
> >imageR=erode(imagebinary,w);
donde eye(3) crea una matriz identidad de 3 x 3, que es usada como rejilla para
la función erode. La figura 3.6 muestra el resultado obtenido.
3.5. Operaciones basadas en objetos
En una imagen binaria, puede definirse un objeto como un conjunto de píx-
eles conectados con valor 1. Por ejemplo la figura 3.7 representa una imagen
23. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 22
Figura 3.6: Imagen resultado de la función erode.
Figura 3.7: Imagen binaria conteniendo un objeto.
binaria conteniendo un objeto cuadrado de 4 x 4. El resto de la imagen puede
ser considerado como el fondo.
Para muchas operaciones la distinción de objetos depende la convención
utilizada de conectividad, que es la forma en la que se considera si dos píxel
tienen relación como para considerar que forman parte del mismo objeto. La
conectividad puede ser de dos tipos, de conexión-4 ó bien conexión-8. En la
figura 3.8 se esquematiza ambas conectividadades.
En la conectividad conexión-8 se dice que el píxel rojo pertenece al mismo
objeto si existe un píxel de valor uno en las posiciones 1,2,3,4,5,6,7 y 8. Por su
parte la conectividad conexión-4 relaciona solo a los píxel 2,4,5 y 7.
Para las operaciones que consideran conectividad como un parámetro es im-
1 2 3 2
4 5 4 5
6 7 8 7
(a) (b)
Figura 3.8: (a) Conectividad conexión-8 y (b) conexión-4.
24. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 23
Figura 3.9: Problema al elegir la conectividad.
portante tomar en cuenta que esta determina fuertemente el resultado final del
procesamiento puesto que puede dar origen a objetos nuevos en donde si se
hubiera elegido otra conectividad no existirán. Para explicar lo anterior consid-
eremos la figura 3.9. Como puede verse si se elige la conectividad conexión-8 la
figura contenida en la imagen seria considerada como una sola pero si al con-
trario se elige la conectividad conexión-4 seria vista como 2 objetos diferentes.
La función bwlabel realiza un etiquetado de los componentes existentes en
la imagen binaria, la cual puede ser considerada como una forma de averiguar
cuantos elementos (considerando como elementos agrupaciones de unos bajo
alguno de los dos criterios de conectividad) están presentes en la imagen. La
función tiene el siguiente formato
ImageR=bwlabel(ImageS, conectividad);
Donde ImagenR es la imagen resultado que contiene los elementos etique-
tados con el numero correspondiente al objeto, ImagenS es la imagen binaria
que se desea encontrar el numero de objetos y conectividad puede ser 4 o 8
(correspondiendo al tipo de conectividad anteriormente explicado.
El efecto de esta función puede explicarse fácilmente si se analiza la imagen
original y el resultado de aplicar la función bwlabel, como se muestra en la
figura 3.10.
Supongamos que la imagen 3.10 (a) es la imagen binaria original (ImagenR)
y 3.10 (b) es la imagen resultado (ImagenS) de ejecutar la función
> >ImagenR=bwlabel(ImagenS,4);
La imagen resultado asigna a cada píxel perteneciente a un determinado ob-
jeto según su conectividad la etiqueta perteneciente al numero de objeto mien-
tras que los píxeles en cero no tienen efecto en la operación, en la figura 3.10
esto corresponde a la codificación de colores mostrada en 3.10 (c).
La imagen resultado es del tipo double. Además debido a su contenido (los
valores son muy pequeños) no puede ser desplegada por la función imshow. Una
técnica útil para la visualización de este tipo de matrices es la de utilizar seudo
color en forma de una imagen indexada. Una imagen indexada es una imagen
25. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 24
0
1
2
3
(a) (b) (c)
Figura 3.10: a) Imagen original binaria, b) imagen resultado de la operación
bwlabel Considerando como conectividad conexión-4 y (c) la codificación de
color.
R G B
100
115 892 20 20 30 89
21 0
21 20 30 89
0
22 20 30 89
0
Figura 3.11: Ejemplo de imagen indexada.
que puede representar imágenes a color al igual que las RGB pero utiliza un
formato diferente, en lugar de utilizar tres planos como lo realiza las imágenes
RGB utiliza una matriz y una tabla, la matriz contiene en cada píxel un numero
entero correspondiente al índice de la tabla, mientras que cada índice de la tabla
corresponden 3 valores correspondiente a los planos RGB, con ello es posible
reducir el tamaño de las imágenes al reducir el numero de diferentes colores. La
figura 3.11 muestra un ejemplo de imagen indexada.
De esta forma cada objeto de la imagen resultado al aplicar la función bwla-
bel puede ser desplegado en un diferente color y ser identificado mas rápida-
mente. Es importante recalcar que el número de índices necesarios para formar
la imagen es igual al número de etiquetas encontradas por la función bwlabel
mas uno, ya que el fondo constituido de solo ceros también es un índice mas.
Consideremos un ejemplo para ilustrar la anterior técnica. Supongamos que
tenemos la imagen a escala de grises representada por la figura 3.12 (a) y la
26. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 25
(a) (b)
Figura 3.12: a)Imagen a escala de grises e b) imagen binarizada.
binarizamos aplicando un umbral de 85 obteniendo así la imagen 3.12 (b).
> >imagebinary=imagegray<85;
Se aplica la función bwlabel para obtener los objetos contenidos en la imagen
binarizada considerando la conectividad conexión-8
> >Mat=bwlabel(imagebinary,8);
Se encuentra el numero de objetos contenidos en la imagen
> >max(max(Mat))
ans=
22
Se genera la imagen indexada con 154 elementos
> >map=[0 0 0;jet(22)];
> >imshow(Mat+1,map,notruesize)
Dando como resultado la imagen representada en la figura 3.13.
3.6. Selección de objetos
En visión por computador resulta de especial utilidad de poder aislar objetos
de una imagen binaria con un método rápido e interactivo. La función de matlab
bwselect permite interactivamente seleccionar el objeto binario a segmentar con
tan solo señalarlo en la ventana (previamente desplegada mediante la función
imshow ). El formato de la función es
27. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 26
Figura 3.13: Resultado de el ejemplo de la función bwlabel.
(a) (b)
Figura 3.14: a) Imagen a escala de grises e b) imagen binarizada.
ImageR=bwselect(c);
Donde ImageR es la imagen conteniendo al objeto seleccionado mientras
que c representa el criterio de conectividad usado. Al igual que otras funciones
iteractivas utilizadas en este documento es necesario seleccionar con el apuntador
del ratón el objeto en la imagen binaria a aislar, pulsar el botón derecho y
después la tecla enter. El siguiente ejemplo ilustra la utilización de la función.
Consideremos que tenemos una imagen a escala de grises como la ejemplificada
por la figura 3.14 (a) y la binarizamos con un umbral de 140 para obtener así
la figura 3.14 (b)
> >imagebinary=imagegray<140;
Ahora si escribimos en línea de comandos
> >imagesegment=bwselect(8);
28. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 27
Figura 3.15: Representación de la variable imagesegment.
Area Image EulerNumber
Centroid FilledImage Extrema
BoundingBox FilledArea EquivDiameter
MajorAxisLength ConvexHull Solidity
MinorAxisLength ConvexImage Extent
Orientation ConvexArea PixelList
Cuadro 3.1: Mediciones realizadas por la función imfeature.
y seleccionamos el objeto 1 como lo muestra la figura 3.14 (b). De lo anterior
resultaría como resultado la variable imagesegment representada en la figura
3.15.
3.7. Medición de características
En visión computacional es de particular interés encontrar mediciones de
características tales como el área, centroide y otras de objetos previamente eti-
quetados o clasificados por la función bwlabel con el objetivo de identificar su
posición en la imagen. Matlab dispone de la función imfeature para encontrar
tales características. El formato de esta función es
Stats=imfeature(L,medición);
Donde Stats es un tipo de dato compuesto que contiene todas la medición
indicada en la cadena de texto medicion, medicion es una cadena de texto
que indica a la función cuales mediciones realizar sobre los objetos contenidos
en la imagen el conjunto de mediciones posibles vienen sumarizados en la tabla
3.1.
Es importante notar que Stats es un tipo de dato que contiene la medición
de todos y cada uno de los objetos contenidos en la imagen binaria, lo cual hace
29. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 28
Figura 3.16: Imagen utilizada para ejemplificar el uso de la función imfeature.
necesario que el tipo de dato sea indexado; es decir podemos controlar mediante
un indice la medicion del objeto que deseamos. Por ejemplo si la imagen contiene
4 elementos, podemos acceder a la medición de cada uno de los diferentes objetos
escribiendo:
stats(1).Medicion
stats(2).Medicion
stats(3).Medicion
stats(4).Medicion
Consideremos que tenemos la imagen previamente binarizada (contenida en
la variable imagebinary) representada en la figura 3.16 y se intenta encontrar el
centroide de ambas figuras contenidas en tal imagen.
Como primer paso utilizamos la función bwlabel y verificamos el numero de
objetos:
> >imageR=bwlabel(imagebinary,8);
> >max(max(imageR))
ans=
2
Ahora se utiliza la funcion imfeature para encontrar el centroide de ambas
figuras:
> >s=imfeature(imageR,Centroid);
> >s(1).Centroid
ans =
81.9922 86.9922
30. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 29
Figura 3.17: Identificación de los centroides.
> >s(2).Centroid
ans =
192.5000 85.0000
3.8. Funciones para la conversión de imágenes y
formatos de color
El formato de representación de color ofrecido por las imágenes RGB resulta
no apropiado para aplicaciones en las cuales el cambio de iluminación es prob-
lema. Otro tipo de formatos de color menos sensibles al cambio de iluminación
han sido propuestos, tales como el modelo HSV. Matlab dispone de funciones
especiales para realizar cambios entre modelos de color y para convertir imá-
genes de color a escala de grises; algunas de esas funciones seran tratadas en
este apartado.
La función rgb2gray cambia una imagen en formato RGB a escala de grises,
el formato de dicha función es:
imagegray =rgb2gray(imageRGB);
Por su parte la función rgb2hsv cambia del modelo de color RGB al modelo
HSV, esta función toma como entrada una imagen RGB compuesta de tres
planos y devuelve la imagen convertida al modelo HSV compuesta a su vez de
tres planos correspondientes al H, S y V. El formato de esta función es:
Imagehsv=rgb2hsv(imageRGB);
La conversión contraria la realiza la función hsv2rgb.
Para ejemplificar el uso de estas funciones considérese la imagen representada
en la figura 3.18. La idea es cambiar dicha Imagen a un formato menos sensible
31. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 30
Figura 3.18: Imagen RGB.
Figura 3.19: Imagen HSV.
a los cambios de contendido de color como lo es el HSV y hacer evidente a la
pelota de tal forma que pueda ser segmentada.
Escribiendo en línea de comandos obtenemos como resultado la imagen HSV
que si la representamos considerando el modelo de planos RGB tendría el aspecto
de la figura 3.19.
> >imageHSV=rgb2hsv(imageRGB);
Si dividimos la imagen en sus respectivos planos HSV, escribiendo en línea
de comandos:
> >H=imageHSV(:,:,1);
> >S=imageHSV(:,:,2);
> >V=imageHSV(:,:,3);
32. CAPÍTULO 3. PROCESAMIENTO DE LA IMAGEN. 31
(a) (b) (c)
Figura 3.20: Planos de la imagen a) H, b) S y c) V.
obtenemos como resultado las figuras 3.20 (a), 3.20 (b) y 3.20 (c).
De las anteriores imágenes resulta evidente que puede utilizarse la del plano
S (saturación ) para poder desempeñar una posible segmentación del objeto.
33. Capítulo 4
La herramienta vfm
Sin embargo un problema importante en las versiones anteriores a la Release
14 (en esta, superado con la incorporación del toolbox de adquisición de ima-
genes ) es la falta de conexión entre una imagen tomada por un adquisidor de
imagen (tal como una tarjeta adquisidora o bien simplemente una Web-cam) y
el procesamiento realizado por matlab. Tener esta ventaja permite implementar
los algoritmos de visión con las características reales de cámara o captador sin
ningún esfuerzo adicional (como lo seria implementar un programa que grabe la
imagen captada en un archivo con un formato especifico, para después utilizar
los comandos normales del toolbox para abrir el archivo).
La herramienta vfm permite resolver este problema, vfm es un conjunto de
librerías dinámicas que permiten acceder directamente a los controladores del
dispositivo registrados por windows. De esta manera USB Web-cams de bajo
costo pueden ser utilizadas así como otros dispositivos para captar una imagen
y poderla utilizar en línea de comandos por matlab y sus toolbox.
La herramienta una vez instalada permite ser utilizada de una manera muy
simple, solo hay que poner en línea de comandos :
> >vfm
A continuación aparecerá una ventana como la mostrada en la figura 4.1.
La herramienta cuenta con tres menús que controlan la captura. En el menú
Driver se permite seleccionar una de varias fuentes de captación de video in-
staladas, en el menú Configure se puede configurar el formato y características
propias del driver previamente seleccionado, por ultimo en el menú Window se
permite controlar el flujo de la presentación de la imagen, normalmente se pre-
fiere el modo de Preview para que la imagen se este mostrando en todo momento
en la ventana.
32
34. CAPÍTULO 4. LA HERRAMIENTA VFM 33
Figura 4.1: Ventana de la herramienta vfm.
4.1. Captura de la imagen en matlab
Las imágenes capturadas utilizando la herramienta vfm son entregadas al
espacio de trabajo en formato RGB.
Para capturar las imágenes entregadas por los drivers en el espacio de trabajo
de matlab se utiliza la función vfm que tiene el siguiente formato
ImageCaptured=vfm(grab,n);
Donde ImageCaptured es la variable que contiene la imagen RGB, y n es el
numero de ’frames’ a capturar, en dado caso de que sea mas de uno la variable
de la imagen capturada se indexa para recuperar el ’frame’ necesario.
De tal forma que si se quisiera capturar el ’frame’ actual visto por la cámara
se procedería a escribir en línea de comandos:
> >ImageRGB=vfm(grab,1);
> >imshow(ImageRGB);
Obteniéndose como resultado el mostrado en la figura 4.2.
35. CAPÍTULO 4. LA HERRAMIENTA VFM 34
Figura 4.2: Proceso de captura de la herramienta vfm.