Vision Artificial

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 71

VISION ARTIFICIAL

Y PROCESAMIENTO
DE IMAGENES
DEFINICION
Se puede definir la “Visión Artificial” como un campo de la “Inteligencia Artificial” que,
mediante la utilización de las técnicas adecuadas, permite la obtención,
procesamiento y análisis de cualquier tipo de información especial obtenida a través de
imágenes digitales.
La visión artificial la componen un conjunto de procesos destinados a realizar el
análisis de imágenes. Estos procesos son: captación de imágenes, memorización de la
información, procesado e interpretación de los resultados.

Con la visión artificial se pueden:

• Automatizar tareas repetitivas de inspección realizadas por operadores.


• Realizar controles de calidad de productos que no era posible verificar por
métodos tradicionales.
• Realizar inspecciones de objetos sin contacto físico.
• Realizar la inspección del 100% de la producción (calidad total) a gran
velocidad.
• Reducir el tiempo de ciclo en procesos automatizados.
• Realizar inspecciones en procesos donde existe diversidad de piezas con
cambios frecuentes de producción.
APLICACIONES
Las principales aplicaciones de la visión artificial en la industria actual son:

• Identificación e inspección de objetos.


• Determinación de la posición de los objetos en el espacio.
• Establecimiento de relaciones espaciales entre varios objetos (guiado de robots)
• Determinación de las coordenadas importantes de un objeto.
• Realización de mediciones angulares.
• Inspección industrial y control de calidad
Verificación de etiquetado y códigos
Inspección de soldaduras, circuitos impresos, motores…
Clasificación de piezas…
• Vigilancia y seguridad
Control de accesos, Control de abandonos
• Identificación
Identificación biométrica: huellas, pisadas, firmas, iris…
Reconocimiento de caras, de gestos
• Control de tráfico
Reconocimiento de matrículas, peaje por volumen, control de flujo
Sistemas de ayuda a la conducción
• Análisis de imágenes por satélite
• Aplicaciones militares: detección de objetivos, guiado balístico…
• Bioingeniería: ayuda al diagnóstico
ETAPAS
ETAPAS
Adquisición de la imagen
La primera etapa es la construcción del sistema de formación de las imágenes.
Su objetivo es realzar, mediante técnicas fotográficas (iluminación, óptica, cámaras, filtros,
pantallas,...), las características visuales de los objetos (formas, texturas, colores, sombras,...).
El éxito de muchas aplicaciones depende de un buen diseño en esta primera etapa.
Preprocesado
Una vez adquirida la imagen se pasará a la etapa de preprocesado. El objetivo es mejorar la
calidad informativa de la imagen adquirida. Se incluyen operaciones de mejora de la relación
señal-ruido.
Segmentación
En esta fase se divide la imagen en áreas con significado. Se trata de decidir qué partes de
la imagen necesitan interpretación o análisis y cuáles no. A menudo es posible y necesario
refinar la segmentación.
Representación y descripción (extracción de características)
Una vez dividida la imagen en zonas con características de más alto nivel se pasará a su
extracción de las características. Básicamente son de tipo morfológico, tales como área,
perímetro, excentricidad, momentos de inercia, esqueletos, pero también se puede emplear
características basadas en la textura o en el color.
Reconocimiento e interpretación
Una vez que la imagen ha sido satisfactoriamente segmentada y han sido extraídas las
características, el procesador puede hacer una serie de pruebas y mediciones en los
elementos de interés que aparecen en la escena. Existen multitud de algoritmos que nos
ayudan a obtener los resultados deseados.
IMAGEN DIGITAL
IMAGEN DIGITAL
Una imagen puede definirse como la función bidimensional f(x,y) donde x , y son
coordenadas en el plano y la amplitud f es llamada intensidad o nivel de gris en ese punto.

Cuando (x, y) y f son todos finitos (cantidades discretas) llamamos a la función como
imagen digital. Es decir, una imagen digital estará compuesta por un número finito de
elementos llamados pixeles, cada uno de los cuales con un valor y una posición particular.

El valor es relativo a alguna propiedad del punto que representa, como por ejemplo su
brillo o su matiz.

El término píxel (abreviación de Picture element o elemento de imagen), se trata de la


unidad mínima de información de una imagen, la cual aparece como un punto en la
pantalla o en una impresora. En realidad cada píxel se compone de tres registros de
color, mediante la combinación de cierta cantidad de rojo, verde y azul, el píxel adopta
un color particular.

Las imágenes bidimensionales son el resultado de una proyección en perspectiva de


escenas tridimensionales. Cuando se obtiene una imagen bidimensional del mundo
tridimensional desaparece gran cantidad de información.
CLASIFICACION DE IMAGENES DIGITALES
IMÁGENES VECTORIALES
Los gráficos vectoriales conservan la nitidez de los bordes y no pierden detalles cuando se
modifica el tamaño puesto que son independientes de la resolución. La información de
cada uno de los puntos se recoge en forma de ecuación matemática que lo relaciona con
el resto de los puntos que forman la imagen.

Ofrece la gran ventaja de que la calidad de la imagen no varía al modificar el tamaño, ya


que la información de cada punto no es absoluta sino relativa al resto de la imagen.
Además, debido a su definición matemática, apenas ocupa espacio, ya que una fórmula
que represente su forma es suficiente para representar todos los puntos que la
componen.

Es el tipo adecuado para el diseño de líneas, polígonos, figuras. No es soportado de forma


directa por los navegadores de Internet como: Internet Explorer, Netscape Navigator,
Firefox, Mozilla, etc.

Algunos formatos de este tipo de imágenes son: DWG (autoCAD), SWF y FLA (Fiash).
CLASIFICACION DE IMAGENES DIGITALES
IMÁGENES RASTER O MAPAS DE BIT
Las imágenes raster constan de un número fijo de píxeles y, por tanto, dependen de la
resolución. Las imágenes raster pueden perder detalle y verse dentadas (pixeladas) cuando
se amplían. Utilizan una cuadrícula rectangular de elementos de imagen (píxeles) para
representar las imágenes. A cada pixel se le asigna una ubicación y un valor de color
específico.

La ventaja que presenta este formato es la posibilidad de recoger una amplia gama tonal,
por lo que es el tipo adecuado para representar imágenes captadas de la realidad. En
cambio, la variación de tamaño supondrá modificaciones en la calidad, ya que el número de
celdas que forman la imagen permanece invariable, por lo que un aumento del tamaño hace
que el único recurso posible sea ampliar el tamaño de cada una de las celdas. Podemos
deducir que su tamaño es muy grande por la información de cada uno de los puntos que
forman la imagen.

Dentro de este tipo se encuentran muchos formatos, algunos de los cuales son soportados
directamente por los navegadores, siendo el tipo de imágenes con las que vamos a trabajar.
Estas imágenes son creadas por los escáneres y las cámaras digitales.

Entre los formatos mas conocidos tenemos: TIF, BMP, GIF, JPG, PNG, JPEG.
TIPO DE IMAGENES DIGITALES
IMAGENES RGB (Red-Green-Blue)
• Utilizan tres canales para reproducir los colores en la pantalla.
• Utilizan 8 bits por canal (8 bits x 3), es decir, 24 bits de color para cada pixel.
• Reproducen hasta 16,7 millones de colores.
• Sopona algunos formatos como: JPG, BMP, PNG, etc.
IMÁGENES INDEXADAS
• Reduce los colores de la imagen a un máximo de 256.
• Admiten los formatos GIF y PNG-8 y muchas aplicaciones multimedia.
• Reduce el tamaño de archivo porque elimina la información del color.
IMÁGENES EN ESCALA DE GRISES
• Utilizan distintos tonos de gris.
• En imágenes de 8 bits, puede tener hasta 256 tonos de gris.
• Cada píxel tiene un valor de brillo comprendido entre O (negro) y 255 (blanco).
IMÁGENES BINARIAS
• Tienen una profundidad de color de 1 bit.
• Utiliza uno de los dos valores de color (blanco o negro) para representar los píxeles de una
imagen.
COLORES PRIMARIOS – COLORES LUZ - SINTESIS ADITIVA - RGB
Los colores producidos por luces (en el monitor, televisión, cine, etc.) tienen como colores
primarios, al rojo, el verde y el azul (RGB) cuya fusión, crean y componen la luz blanca. Por
eso, a esta mezcla se la denomina, síntesis aditiva, y las mezclas parciales de estas luces
dan origen a la mayoría de los colores del espectro visible.

Para representar un color en el sistema RGB se le asigna un valor entre O y 255 (notación
decimal) o entre 00 y FF (notación hexadecimal) para cada uno de los componentes rojo,
verde y azul que lo conforman. El color rojo puro, por ejemplo, se especificará como
(255,0,0) en notación RGB decimal y #FFOOOO en notación RGB hexadecimal.
COLORES PRIMARIOS – COLORES PIGMENTO - SINTESIS SUSTRACTIVA - CMYK
El color magenta, el cyan y el amarillo son los colores básicos de las tintas que se usan en
la mayoría de los sistemas de impresión. La mezcla de los tres colores primarios pigmento
en teoría debería producir el negro, el color más oscuro y de menor cantidad de luz, por lo
cual esta mezcla es conocida como síntesis sustractiva.

En la práctica el color así obtenido no es lo bastante intenso, motivo por el cual se le


agrega el negro pigmento, conformándose el espacio de color CMYK.
El blanco y negro son llamados colores acromáticos (sin color). El negro es la ausencia de
luz y de color.
MODELOS DE COLOR
Su propósito es el de facilitar la especificación de los colores utilizando algún estándar. Los
modelos de color están orientados, por un lado, al hardware (monitores e impresoras) y, por
otro lado, a alguna aplicación para la creación de gráficas a color y animaciones. Los
orientados al hardware, en la práctica utilizan el modelo RGB (rojo, verde, azul) para
monitores y cámaras de video; el modelo CMY (cyan, magenta, amarillo) y el CMYK (cyan,
magenta, amarillo, negro) para impresoras en color y el modelo HSI (tono, saturación,
intensidad) que corresponde al modelo más cercano a la manera en que los humanos
perciben el color.
MODELOS DE COLOR - RGB
En el modelo RGB, cada color aparece en sus componentes espectrales primarios de rojo,
verde y azul Las imágenes representadas en este modelo consisten en tres componentes de
imágenes, una para cada color primario.

El número de bits que se utiliza para representar cada pixel en el espacio RGB es llamado
profundidad de pixel. Así, una imagen RGB en que cada imagen roja, verde y azul es una
imagen de 8-bits tiene 24 bits de profundidad, puesto que cada pixel es una tripleta de
valores (R, G, B) y tiene un número total de 2^24 = 16,777,216 colores.

Cada pixel en una imagen de 24-bit, posee uno de los 256 valores de brillo para el rojo,
verde y azul.
MODELOS DE COLOR - CMYK
El cyan, magenta y amarillo son los colores secundarios de la luz o bien los colores primarios
de los pigmentos. Los dispositivos que depositan pigmentos coloreados sobre papel (como
impresoras y fotocopiadoras en color) necesitan una entrada CMY o bien una conversión
interna de RGB a CMY. En la temía, la mezcla de los tres colores CMY da el negro, pero en

la práctica es de mala calidad, por lo que se incluye un cuarto color K que representa el negro.
Los sistemas RGB, CMYK se encuentran relacionados, ya que los colores primarios de uno
son los secundarios del otro (los colores secundarios son los obtenidos por mezcla directa de
los primarios).

MODELOS DE COLOR - HSI

Los modelos RGB y CMY no son útiles para describir los colores en términos prácticos para
la interpretación humana. Por ejemplo, una persona no se refiere al color de un auto dando
porcentajes del contenido de cada uno de sus colores primarios, sino que lo describe en
términos de su tono (H), saturación (S) y su brillo o intensidad (I).

Existen algunas utilidades de este modelo como el diseño de sistemas automáticos para
detectar el grado de maduración de frutas y vegetales, sistemas para comparar muestra~ de
color o inspeccionar la calidad de productos coloreados.
PROPIEDADES DEL COLOR
El Tono:
Es el matiz del color, es decir, el color en si mismo. Es s implemente un sinónimo de color.
Por ejemplo, el matiz de la sangre es rojo. Según su tonalidad se puede decir que un color es
rojo, amarillo, verde, etc.

Aquí podemos hacer una división entre:


- Tonos cálidos (rojo, amarillo y anaranjados): aquellos que asociamos con la luz solar, el
fuego.
- Tonos fríos (azul y verde): Los colores fríos son aquellos que asociamos con el agua, la luz
de la luna.

Saturación:
Indica la concentración de color en el objeto. Puede ser definida por la cantidad de gris que
contiene un color: mientras más gris o más neutro es, menos brillante o menos "saturado" es.
Igualmente, cualquier cambio hecho a un color puro automáticamente baja su saturación.
Por ejemplo, decimos "un rojo muy saturado" cuando nos referimos a un rojo puro y rico.
Pero cuando nos referimos a los tonos de un color que tiene algún valor de gris, los llamamos
menos saturados.

Brillo o Valor:
Es la luminosidad de un color (la capacidad de reflejar el blanco). Alude a la claridad u
oscuridad de un tono. La luminosidad puede variar añadiendo negro o blanco a un tono.
CALIDAD DE UNA IMAGEN
La imagen digital, bien sea generada por el ordenador o creada a través de algún
dispositivo de captura, tal como una cámara digital o un escáner, aporta una principal
ventaja que es la estabilidad, mientras que la emulsión de una imagen fotográfica clásica
sufre una degradación química con el paso del tiempo, que repercute en la calidad de
dicha reproducción, los ceros y unos que componen una imagen digital permanecen
estables, con lo que la imagen no variará a lo largo del tiempo.
La calidad de la imagen raster es determinada en el proceso de captura por tres
factores: el tamaño del píxel (resolución espacial), la profundidad del píxel (resolución
de brillo) y el ruido.
El tamaño del pixel es determinado por el rango al cual el escáner muestrea la imagen. Un
intervalo de muestreo largo produce una imagen baja en resolución espacial. Un intervalo
mas corto produce una resolución espacial más alta, tal como se muestra en la figura
izquierda.
El brillo o valor de color de cada pixel es definido por un bit o un grupo de bits. Mientras
más bits se usen, más alta es la resolución de brillo, (figura derecha).
CALIDAD DE UNA IMAGEN
Todas las imágenes tienen cierta cantidad de ruido, ya sea por la cámara, escáner o el
medio de transmisión de la señal. Generalmente el ruido se manifiesta como pixeles
aislados que toman un nivel de gris diferente al de sus vecinos y aparece como pequeñas
y aleatorias variaciones en el brillo y el color (ver figura). Los algoritmos de filtrado que se
verán más adelante, permiten eliminar o disminuir este ruido.
La resolución de una imagen es el número de pixeles que contiene una imagen, expresada
como 640 x 480, 800 x 600, por ejemplo. Es un término que debe ser considerado al utilizar
imágenes en determinados trabajos.
En general, una baja resolución de imagen se utiliza para:
Imágenes para páginas Web y correo electrónico.
La memoria de la cámara es limitada.
Se dispone de escaso espacio en disco duro para el almacenamiento de
imágenes.
En general, se debe recurrir a una resolución más alta si:
Las imágenes están destinadas a impresiones de alta resolución.
Se dispone de suficiente espacio de almacenamiento, tamo en la cámara como en el disco
duro.
CALIDAD DE UNA IMAGEN

El tamaño de una imagen se puede calcular multiplicando la cantidad de píxeles


horizontales (ancho) por la cantidad de píxeles verticales (alto) y por la profundidad de
brillo (en bits). En la tabla se muestra algunos ejemplos de tamaños de imágenes.
CAPTURA Y DIGITALIZACION DE IMÁGENES
CAPTURA DE IMÁGENES
El proceso de captura se refiere a la adquisición de la imagen del mundo físico. La imagen puede
ser capturada o generada de varias maneras: fotográficamente, con elementos químicos; o a través
de dispositivos electrónicos como el computador, escáner, cámara digital o videocámara digital.
LA CÁMARA DIGITAL.- Hay cámaras de toda forma, tamaño, precio y funciones. Algunas
características de las cámaras sobre las cuales se deben investigar antes de su adquisición son:
Resolución.- Número de píxeles que contienen las imágenes. La mayoría de cámaras
comerciales generan imágenes de 640x480 píxeles que son adecuadas para muchas
aplicaciones. En la mayoría de cámaras es posible elegir entre dos o más resoluciones.
Memoria.- En general, cuanto mayor sea la memoria es mucho mejor. A usted le interesa alojar en
la memoria tantas fotografías como sea posible antes de proceder a su descarga en la
computadora. Las cámaras pueden incluir memoria interna fija, así como tarjetas de memoria
intercambiables.
El formato de las imágenes capturadas serán del tipo JPG, por lo que podrán ser exportadas a la
mayoría de los programas de tratamiento.
Compresión de Archivos.- La mayoría de cámaras permite elegir el grado de compresión de las
imágenes para su almacenamiento en la memoria. A menor compresión, mayor calidad de imagen
pero tan1bién será menor el número de imágenes que es posible almacenar en la memoria.

Sistema de Transferencia.- Es importante conocer la calidad de operación del sistema de


transferencia de una cámara para el traspaso de imágenes a la PC. La mayoría cuentan con
conexión USB.
CAPTURA Y DIGITALIZACION DE IMÁGENES
CAPTURA DE IMÁGENES
EL ESCÁNER.- Es un dispositivo que le permite realizar una copia digital de una fotografía u otro tipo de
documento. Se trata de un aparato semejante a las cámaras digitales y es de gran utilidad para transferir
imágenes a una PC cuando solo se cuenta con su versión impresa.
Un escáner puede concebirse como una cámara digital, pero en lugar de servirse como aquella, de un
CCD rectangular para captar una imagen completa en un solo paso, el escáner emplea un CCD con una
sola fila de píxeles fotosensibles. Este CCD lineal registra el valor lumínico de cada una de las líneas o filas
de una imagen. Al terminar una línea remite la información de inmediato a la PC para poder proceder la
lectura de la línea siguiente.
Los principales aspectos que debe considerar al adquirir un escáner son: resolución e intensidad de color.
La resolución del escáner depende en parte de la velocidad y precisión del motor que impulsa
pausadamente al CCD a lo largo del documento. Los escáner de alta resolución ofrecen un mayor grado
de detalle en las porciones más claras y más oscuras de una imagen. Algunas resoluciones de escáner
son: 300, 600, 1200, 2400, 4800, 9600 dpi (puntos por pulgada).
En la mayoría de escáner de bajo costo la intensidad de color es de 24 bits, lo cual significa que puede
digitalizar hasta 16.7 millones de colores, cantidad similar a la perceptible por el ojo humano. Los escáner
más complejos operan a razón de 30 o 36 bit por píxel, de manera que pueden distinguir entre miles de
millones de colores.
Un sistema básico de captura de imagen contiene un lente y un detector. En la fotografía digital, el
detector es un sensor de imagen denominado CCD y consta de píxeles. Cada píxel rep1·esenta un punto
de color en la imagen terminada. Una cámara capaz de producir imágenes de 640x480 píxeles cuenta con
un CCD de 300000 píxeles.
CAPTURA Y DIGITALIZACION DE IMÁGENES
DIGITALIZACION DE IMÁGENES
Es el proceso de paso del mundo continuo (o analógico) al mundo discreto (o digital).
Una vez digitalizada una imagen bidimensional, ésta queda constituida por un conjunto de
elementos básicos llamados píxeles. Cada píxel ofrece cierta información sobre una región
elemental de la imagen, como el color o brillo, y la posición. En imágenes en blanco y negro esta
información es el brillo. En imágenes en color, la información corresponde a la intensidad de cada
una de las componentes de un modelo de color como: RGB, CMYK, HSI, etc.
En la digitalización normalmente se distinguen dos procesos: el Muestreo y la Cuantización.
EL MUESTREO es el proceso de obtener la imagen. Esto implica que la imagen se muestrea en una
matriz con m filas y n columnas. El muestreo determina el tamaño del pixel y el valor del brillo.
Cuando un dispositivo de captura muestrea la imagen fotográfica, divide la imagen en píxeles. El
tamaño de los píxeles depende del número de foto celdas.
Un CCO con pocas foto celdas, muestrea a una baja resolución. A una resolución extremadamente
baja, los píxeles pueden ser percibidos por un ojo normal sin ayuda. Esto se denomina pixelización.
Un CCO con más foto celdas, muestrea a una resolución espacial más alta.
En este tipo de imagen los píxeles individuales no pueden ser vistos .
CAPTURA Y DIGITALIZACION DE IMÁGENES
DIGITALIZACION DE IMÁGENES
LA CUANTIZACIÓN es el proceso de asignar valores a los elementos de la matriz.
Cada valor representa al valor de la variable física en ese punto. A efectos de representación visual
se asume que el valor más pequeño del rango de valores corresponde a un nivel de gris negro y
que el valor más grande al nivel de gris blanco.
Dentro de este intervalo, cuantos más valores se puedan discriminar, mayor cantidad de matices se
podrán representar.
La pregunta obvia que surge al hablar de Muestreo y Cuantización es: ¿Cuáles son los valores
adecuados de número de muestras y número de niveles distinguibles? La respuesta, también
obvia, lo mejor es tener el mayor número posible de muestras (para obtener la mejor
aproximación a la función imagen continua) y el mayor número posible de niveles (para poder
percibir todos los detalles). Sin embargo, hay que considerar que cuantas más muestras y más
niveles, más datos a procesar por el ordenador y más tiempo de computación necesario para
obtener los resultados.
PROCESAMIENTO
DIGITAL DE IMAGENES
INTRODUCCION
El procesamiento digital de imágenes (PDI) se refiere a procesar las imágenes del mundo real de
manera digital por medio de un computador. Es un tema muy amplio, en el que se incluyen estudios de
física, matemáticas, ingeniería eléctrica, computación.
Estudia los fundamentos conceptuales de la adquisición y des pliegue de imágenes y con detalle los
fundamentos teóricos y algorítmicos del procesamiento como tal. Tiene además, como objetivo mejorar
el aspecto de las imágenes y hacer más evidentes en ellas ciertos detalles que se desean hacer notar.
La Visión Artificial (o visión computacional) puede ser definida como los procesos de obtención,
caracterización e interpretación de información de imágenes tomadas de un mundo tridimensional Estos
procesos pueden ser subdivididos en seis áreas principales y están agrupados de acuerdo a la
complicación y delicadeza que lleva su implementación. Consideramos tres ni veles de procesamiento:
visión de bajo, medio y alto nivel, tal como se muestra en la tabla .
PROCESOS DE UN SISTEMA PDI

La captura o adquisición es el proceso a través del cual se obtiene una imagen digital
utilizando un dispositivo de captura como una cámara digital, video cámara, escáner,
satélite, etc.

El pre procesamiento incluye técnicas tales como la reducción del ruido, realce del
contraste, realce de ciertos detalles, o características de la imagen.

La segmentación es el proceso que divide una imagen en objetos que sean de nuestro
interés de estudio.

La descripción es el proceso que obtiene características convenientes para diferenciar


un tipo de objeto de otro, como: la forma, el tamaño, área, etc.

El reconocimiento es el proceso que identifica los objetos, como por ejemplo: una
llave, un tornillo, moneda, coche, etc.

La interpretación es el proceso que asocia un significado a un conjunto de objetos


reconocidos (llaves, tomillos, herramientas, etc.) y trata de emular la cognición.
PROCESOS DE UN SISTEMA PDI

Presentaremos a los procesos de captura y pre procesamiento como funciones de visión


de bajo nivel; la segmentación, descripción y reconocimiento como funciones de visión
de nivel intermedio; y la interpretación como función de visión de alto nivel.
Como podemos apreciar, agrupamos los métodos y/o procesos del PDI en dos
categorías principales:

1. Métodos cuya entrada y salida son imágenes.


2. Métodos cuyas entradas pueden ser imágenes y las salidas son atributos extraídos de
esas imágenes.
HISTORIA DEL SISTEMA PDI

La historia del PDI se remonta a la década de los 60 y está directamente ligada con el
desarrollo y evolución de las computadoras. Su progreso ha ido de la mano con el
desarrollo de las tecnologías de hardware, ya que requiere un alto poder y recursos
computacionales para almacenar y procesar las imágenes. De igual manera el desarrollo
de los lenguajes de programación y los sistemas operativos han hecho posible el
crecimiento continuo de aplicaciones relacionadas al procesamiento de imágenes, tales
como: imágenes médicas, satelitales, astronómicas, geográficas, arqueológicas,
biológicas, aplicaciones industriales, entre otras.

APLICACIONES DEL SISTEMA PDI

Existe una amplia gama de áreas donde el PDI se utiliza de manera rutinaria para la
resolución de ciertos problemas, dependiendo de la fuente de energía, sean estas: rayos
gamma, rayos X, banda ultravioleta, banda infrarroja, banda visible, microondas, radio,
Ultrasonido.

• Imágenes de rayos gamma.- Imágenes médicas y observaciones astronómicas.


• Imágenes de rayos X.- Aplicaciones en la medicina, astronomía e industriales.
• Imágenes de banda visible.- Inspección de objetos industriales, identificación de
• billetes, conteo, reconocimiento automático de placas de vehículos.
• Imágenes de banda de ramo.- Aplicaciones en medicina y astronomía.
COMPONENTES DE UN SISTEMA PDI
Entre los componentes principales para un sistema de procesamiento digital de imágenes
tenemos los siguientes:

• Sensores.
• Digitalizadores.
• Hardware especializado en el PDI.
• Computadora.
• Software.
• Dispositivos de almacenamiento: memoria, discos.
• Monitores: despliegue y visualización.
• Hardcopy: impresión, diapositivas, fotografías.
• Acceso a la Red: transmisión por cables ópticos, UTP, Wireless, etc.

HERRAMIENTAS PARA EL PDI


En la actualidad existe una gran cantidad de herramientas de software libre y comercial
destinadas al procesamiento digital de imágenes. A continuación se presenta algunas de
las más utilizadas en nuestro medio.

• Adobe Photoshop
• Matlab (lmage Processing Toolbox y lmage Acquisition Toolbox).-
• Mathematica.
• Micromorph .
FUNDAMENTOS DEL PDI – RELACION ENTRE PIXELES
Un pixel p con coordenadas (x,y) tiene cuatro vecinos, dos horizontales y dos verticales,
cuyas coordenadas son: (x+1,y), (x-1,y), (x,y-1 ), (x,y+1 ). A este conjunto de píxeles se llama
vecindad 4 de p y se denota por N4(p) , ver la figura 3.5. Nótese que para cada uno de estos
píxeles hay una distancia de 1 (uno) desde p y que en los bordes de la imagen algunos de
estos píxeles quedarán fuera de la imagen.

Existen también 4 vecinos diagonales de p con coordenadas: (x+ 1,y+1), (x+1 ,y-1), (x-1,y-1 ).
(x-1,y+1) y se les denota por ND (p), ver la figura 3.6. Conjuntamente, N4(p) y ND (p) forman la
vecindad 8 de p denotada por N8 (p).
FUNDAMENTOS DEL PDI – CONECTIVIDAD

La conectividad es un concepto importante utilizado para establecer los límites de objetos en


regiones dentro de una imagen digital. Para determinar si dos píxeles están conectados se
determina si son adyacentes en algún sentido, sea ND(p) o N4 (p) por ejemplo, y si sus niveles
de gris satisfacen algún criterio de similitud(si son iguales o parecidos). Por ejemplo, en una
imagen binaria con valores de 1 y 0, dos pixeles pueden ser vecinos N4 (p ), pero se dice que
están conectados sólo cuando tienen el mismo valor.

En la figura se observa la conectividad de píxeles en una imagen binaria. El pixel 6 está


conectado con el 2 y 8. El pixel 3 está conectado con el 5.
FUNDAMENTOS DEL PDI – DISTANCIA
La distancia o transformada de distancia proporciona una medición de la separación
existente entre dos puntos dentro de una imagen. Dados dos píxeles p y q con coordenadas
(x,y) y (s,t), respectivamente, se puede definir una función de distancia D si se cumple:
D(p,q) ≥ 0
D(p,q)=0, si p=q
D(p,q)=D(q,p)
Las funciones de distancia comúnmente usadas son: distancia euclidiana y distancia tablero de
ajedrez.
Distancia euclidiana(fig. izquierda) entre p y q:

Distancia tablero de ajedrez(fig. derecha): en donde se observa que los 4-vecinos están a una
distancia unitaria del píxel central; si se desea que los 8-vecinos estén a la misma distancia se
toma:
RUIDO EN IMÁGENES
Todas las imágenes tienen cierta cantidad de ruido, la cual se puede deber a la cámara,
escáner o al medio de transmisión de la señal. Generalmente el ruido se manifiesta como
pixeles aislados que toman un nivel de gris diferente al de sus vecinos. Los algoritmos de
filtrado pem1iten eliminar o disminuir este ruido.
El ruido puede clasificarse en los siguientes tipos:
Gaussiano: Produce pequeñas variaciones en la imagen; generalmente se debe a diferentes
ganancias en la cámara, ruido en los digitalizadores, perturbaciones en la transmisión. Se
considera que el valor final del pixel sería el valor ideal más una cantidad correspondiente al
error que puede describirse como una variable aleatoria gaussiana.
Impulsional (sal y pimienta): el valor que toma el pixel no tiene relación con el valor ideal,
sino con el valor del ruido que toma valores muy altos o bajos (puntos blancos y/o negros)
causados por una saturación del sensor o por un valor mínimo captado, si se ha perdido la
señal en ese punto.
Multiplicativo: La imagen obtenida es el resultado de la multiplicación de dos señales.
MANEJO DE IMÁGENES
EN
MATLAB
SENTENCIAS EN MATLAB
Matlab almacena la mayoría de las imágenes como arreglos bidimensionales (matrices) en
los cuales cada elemento de la matriz corresponde a la intensidad de un pixel de la imagen.
Algunas imágenes, como las imágenes a color (RGB), requieren de un arreglo tridimensional,
donde en el primer plano en el espacio tridimensional representa la intensidad de rojo de los
píxeles, el segundo plano representa la intensidad de verde de los pixeles y el tercer plano
representa la intensidad de azul de los píxeles.
Para reducir el espacio en memoria requerido para almacenar imágenes, Matlab almacena
los datos en arreglos de 8 o 16 bits sin signo, clases uint8 y uint16, respectivamente.
Tipos de imágenes en Matlab
El toolbox de Procesamiento de Imágenes maneja cuatro tipos de imágenes básicos:
imágenes indexadas, imágenes con intensidad (escala de grises), imágenes binarías e
imágenes RGB.
Lectura de imágenes en Matlab
El comando imread lee una imagen desde no archivo gráfico. Sí la imagen es en escala
de grises, entonces devuelve una matriz bidimensional. Si la imagen es RGB, entonces
devuelve un arreglo tridimensional. Su sintaxis es:
I = imread('filename')
En Matlab se soportan los siguientes formatos de imagen: JPEG, TIFF, GIF, BMP,
PNG, HDF, PCX, XWD, ICO y CUR.
SENTENCIAS EN MATLAB
Ahora para mostrar la imagen en pantalla se puede usar el comando imshow.
I = imread('hola.jpg');
imshow(I)
Para mostrar una imagen en una nueva figura, utilice el comando figure:
Figure
imshow(l)
También puede usar el comando imview para desplegar una imagen en el visualizador de imágenes de
Matlab, por ejemplo:
imview(I)
Para acceder a cada pixel de la imagen se puede usar el comando impixel. Su sintaxis es:
valor= impixel(imagen, columna, fila);
SENTENCIAS EN MATLAB

Escritura de imágenes en Matlab


El comando imwrite permite escribir una imagen en el disco (archivo físico gráfico). Su
sintaxis es: imwrite(l, 'filename')
donde I es la matriz que almacena la imagen y filename es el nombre de fichero donde
vamos a guardar la imagen.
Selección de una sección de una imagen en Matlab
Para tomar una sección de cualquier imagen se utiliza el comando imcrop. Su sintaxis es:
I2 = imcrop(l)
I2 = imcrop(I, [xmin ymin ancho alto])
Para determinar el tamaño de una imagen podemos usar el comando size de matlab,
que devuelve el número de filas, columnas y planos de colores.
size(l)
Si queremos almacenar el resultado en variables separadas, sería:
[M N] = size(l)
Si queremos obtener información más detallada de la imagen usamos el comando whos:

whos (I)
AÑADIR RUIDO EN MATLAB
Para añadir ruido a una imagen, hacemos uso del comando imnoise. Su sintaxis es:

k = imnoise(i, tipo)

J = imnoise(l , tipo, parámetros)

El tipo es una cadena de caracteres que puede tener uno de los siguientes va lores:

Ejemplo:
I= imread('pinguino.j pg'):
k = imnoise(l,'salt & pepper');
imshow(l)
figure , imshow(k)
CAPTURA O ADQUISICION
DE
IMAGENES
SECUENCIA DE COMANDOS PARA OBTENER INFORMACION DEL DISPOSITIVO

1. Determinar el adaptador de video instalado.


El comando a usar para determinar el adaptador es el siguiente:

inf_adaptador=imaqhwinfo

2. Determinar los id de los dispositivos conectados al Pc.


El comando a usar es:

inf_id=imaqhwinfo('inf_adaptador')

donde inf_adaptador es el adaptador de video instalado, determinado del paso 1.

3. Determinar los formatos que soporta el dispositivo conectado Pc.


El comando a usar es:

inf_form=imaqhwinfo('adaptador',id_dispositivo)

donde id_adaptador es el id del adaptador seleccionado, determinado del paso 2.


SECUENCIA DE COMANDOS PARA OBTENER INFORMACION DEL DISPOSITIVO

1 2

4
3
SECUENCIA DE COMANDOS PARA ACTIVAR WEBCAM Y TOMAR UNA FOTO

1. Crear una entrada de video:


vid=videoinput('nombre_adaptador', id_dispositivo, 'formato')
Ejm.
vid=videoinput('winvideo',1,'YUY2_640*480');
2. Configurar el formato de retorno de la imagen tomada
vid.ReturnedColorspace = 'rgb';
3. Activar la webcam.
preview(vid)
4. Esperar que se estabilice la webcam
pause(1)
5. Tomar foto
foto=getsnapshot(vid);
6. Mostrar imagen tomada
imshow(foto);
7. Desactivar webcam
stoppreview(vid);
PREPROCESAMIENTO:
FILTRADO Y REALZADO
DE IMAGENES
1. OPERACIONES BASICAS SOBRE PIXELES

1. OPERACIONES ARITMÉTICAS
Las operaciones aritméticas más usadas en el procesamiento de imágenes son: suma,
resta, multiplicación y división. Para que se pueda llevar a cabo una operación aritmética,
ambas imágenes deben ser del mismo tamaño (ancho y alto).
Los comandos a usar :
2. OPERACIONES LÓGICAS
Las principales operaciones lógicas utilizadas en el procesamiento de imágenes son:
AND, OR, NOT, las cuales se aplican sólo a imágenes binarias. Los comandos a usar son:
1. OPERACIONES BASICAS SOBRE PIXELES

3. TRANSFORMACIONES GEOMÉTRICAS
Las transformaciones geométricas modifican las relaciones espaciales entre píxeles.
INTERPOLACIÓN
La interpolación es el proceso en el cual se estiman los valores de una imagen en una sección específica,
por ejemplo, cuando se amplía una imagen, en la nueva imagen existen más píxeles que en la imagen
original.
Dentro de Matlab los comandos imresize e imrotate utilizan interpolación bidimensional como paso
intermedio en sus procesos e implementa los siguientes métodos de interpolación: interpolación por el
vecino más próximo, interpolación bilineal e interpolación bicúbica. Los tres métodos de interpolación
funcionan de forma similar. Se asigna el valor del píxel interpolado calculando el promedio ponderado del
conjunto de píxeles hallados en la vecindad de dicho punto.
Los tres métodos difieren en el conjunto de píxeles que consideran:
- Vecino más próximo (nearest): al píxel interpolado se le asigna el valor del píxel que corresponde. Es el
método por defecto si no se especifica alguno.
- Interpolación bilineal (bilinear): el valor del píxel interpolado es el promedio ponderado de los píxeles
en la vecindad 2x2 más cercana.
- Interpolación bicúbica (bicubic): el valor del píxel interpolado es el promedio ponderado de los píxeles
presentes en la vecindad 4x4 más cercana.
2. OPERACIONES SOBRE EL HISTOGRAMA DE UNA IMAGEN

HISTOGRAMA
Un histograma ilustra en un gráfico cómo están distribuidos los píxeles de la imagen
mostrando la cantidad de píxeles en cada nivel de intensidad del color. El histograma indica
si la imagen contiene suficientes detalles en las sombras (en la parte izquierda del
histograma), en los medios tonos (en el centro) y las iluminaciones (en la parte derecha)
para realizar una corrección correcta.
Es un diagrama de barras, en el que sobre el eje de las abscisas se representan los
diferentes valores que pueden tomar los píxeles de una imagen, y en el eje de las
ordenadas, el número de píxeles que se encuentran en una imagen para ese valor de
cuantización.
El histograma de una imagen en niveles de gris proporciona información sobre el número de
píxeles que hay para cada nivel de intensidad (ver Figura). En imágenes en color RGB se
usan tres histogramas, uno por cada componente de color.
El histograma de una imagen se calcula en Matlab con el comando imhist y sólo se aplica a
imágenes indexadas o con intensidad (escala de grises).

A1=imread('Imag1.jpg')
imhist(A1)
2. OPERACIONES SOBRE EL HISTOGRAMA DE UNA IMAGEN

Ecualizado del histograma


El proceso de ecualizado mejora el contraste de una imagen y tiene por objetivo obtener un
nuevo histograma, a partir del histograma original, con una distribución uniforme de los
diferentes niveles de intensidad. Además, mejora la calidad visual de las imágenes saturadas.
El ecualizado está implementado en el comando histeq en matlab.
Ejemplo:
I=imread('C:\Imagen\a1.jpg'); % lee una imagen indexada o con intensidad
I=rgb2gray(I);
J=histeq(I); % ecualiza el histograma
subplot(221); imshow(I)
subplot(222); imshow(J)
subplot(223); imhist(I)
subplot(224); imhist(J)
2. OPERACIONES SOBRE EL HISTOGRAMA DE UNA IMAGEN

Ajuste de la Intensidad
La función imadjust puede ampliar, reducir, y en general, cambiar los rangos de intensidad
de la imagen de entrada a unos nuevos rangos en la imagen de salida. Se usa con
imágenes en niveles de grises y de color. Aumenta el contraste de la imagen de salida. Su
sintaxis es: J = imadjust(I);
Ejemplo:
I=imread('C:\Imagen\a1.jpg'); % lee una imagen indexada o con intensidad
I=rgb2gray(I);
J=imadjust(I);
subplot(211); imshow(I)
subplot(212); imshow(J)
Imagen Real Imagen con ajuste de Intensidad
3. OPERACIONES EN EL DOMINIO DE LA FRECUENCIA

Se ha visto que una imagen digital es una representación que se refiere directamente a la
intensidad luminosa de puntos del espacio, por lo que se dice que una imagen digital es una
representación en el dominio del espacio (o del tiempo). Existen otros tipos de
representaciones, que contienen la misma información, pero que no están en el dominio
del espacio. Es el caso de las representaciones en el dominio de la frecuencia.
Las representaciones en el dominio de la frecuencia, explican cómo se repiten ciertos
patrones de una imagen y, con ello, consiguen representar la información de tal imagen.
Este tipo de transformaciones de frecuencia se llevan a cabo para una amplia gama de
procesamientos, entre los cuales se encuentran: la convolución, el mejoramiento de
imágenes, la detección de características, compresión; además se pueden apreciar y alterar
directamente elementos como el ruido, los bordes, las texturas, etc.

Transformada de Fourier
La transformada de Fourier se encuentra implementada en Matlab en el comando fft (para
el caso unidimensional), fft2 (para el caso bidimensional) y fftn (para el caso
n-dimensional). Las transformadas inversas se encuentran en los comandos ifft (para el
caso unidimensional), ifft2 para el caso bidimensional e ifftn (para el caso n-dimensional).
3. OPERACIONES EN EL DOMINIO DE LA FRECUENCIA

FILTRADO ESPACIAL DE UNA IMAGEN


El filtrado es una técnica para modificar o mejorar a una imagen. Por ejemplo, un filtro
puede resaltar o atenuar algunas características. El filtrado es una operación de vecindario,
en la cual el valor de un píxel dado en la imagen procesada se calcula mediante algún
algoritmo que toma en cuenta los valores de los píxeles de la vecindad de la imagen
original.
Dentro de los filtros espaciales tenemos los siguientes tipos: Filtros de paso bajo y filtros de
paso alto.
3. OPERACIONES EN EL DOMINIO DE LA FRECUENCIA
Filtros espaciales de paso bajo (Suavizantes)
Los filtros suavizantes se emplean para hacer que la imagen aparezca algo borrosa y
también para reducir el ruido.
El filtrado paso bajo espacial se basa en el promediado de los píxeles adyacentes al píxel
que se evalúa (vecindad 3x3, 5x5, etc.). El filtrado de promediado de imágenes en Matlab
es una operación lineal y está implementado en el comando imfilter.
Ejemplo
I=imread('C:\Imagen\a1.jpg');
J = imnoise(I,'salt & pepper',0.02); % añade ruido a la imagen
h=fspecial('average',5); % crea un tipo especial de filtro
K=imfilter(J,h); % aplica el filtro de promedio
subplot(131); imshow(I)
subplot(132); imshow(J)
subplot(133); imshow(K)

Imagen Real Imagen con ruido Imagen Filtrada


3. OPERACIONES EN EL DOMINIO DE LA FRECUENCIA

Otro filtro de paso bajo es el filtro de la mediana. Éste se basa en sustituir el valor de un
píxel por el de la mediana del conjunto formado por el mismo y sus ocho vecinos.
Es una operación no lineal que se suele utilizar en el procesamiento de imágenes para
reducir el ruido "sal y pimienta". La mediana de filtrado es más efectiva cuando el objetivo
es reducir el ruido y al mismo tiempo preservar los bordes.
En Matlab este filtro se encuentra implementado en el comando medfilt2.
Ejemplo
I=imread('C:\Imagen\a1.jpg');
I=rgb2gray(I);
J = imnoise(I,'salt & pepper',0.02); % añade ruido a la imagen
K = medfilt2(J);
subplot(131); imshow(I)
subplot(132); imshow(J)
subplot(133); imshow(K)

Imagen Real Imagen con ruido Imagen Filtrada


3. OPERACIONES EN EL DOMINIO DE LA FRECUENCIA

Filtros espaciales de paso alto


Los filtros espaciales de paso alto se corresponden con las altas frecuencias, suelen
corresponder a los bordes de los objetos presentes en las imágenes. Se puede utilizar para
el realce de bordes o para la detección de contornos.
El realce de bordes consiste en resaltar aquellos píxeles que tienen un valor de gris
diferente al de sus vecinos. Si la imagen contiene ruido, su efecto se multiplicará, por lo
que primero se debe eliminar el ruido.
La detección de contornos es un paso intermedio en el reconocimiento de patrones en
imágenes digitales. En una imagen, los contornos corresponden a los límites de los objetos
presentes en la imagen. Para hallar los contornos se buscan los lugares en la imagen en los
que la intensidad del píxel cambia rápidamente.
La detección de contornos se encuentra implementada en Matlab en el comando edge y se
aplica a imágenes de intensidad.
Su sintaxis es: BW =edge(I, método)
Esta función devuelve una imagen de bordes binaria, y se puede obtener con diversos
métodos, como: sobel, prewitt, robert, canny.
Nunca un filtrado digital aumenta la información de una imagen. Sin embargo estos filtros
pueden resultar útiles para destacar elementos de la imagen que se necesitan en la etapa
de reconocimiento.
3. OPERACIONES EN EL DOMINIO DE LA FRECUENCIA
Ejemplo:
I=imread('C:\Imagen\a1.jpg');
I=rgb2gray(I);
J=edge(I,'sobel');
K=edge(I,'canny');
L=edge(I,'prewitt');
subplot(221); imshow(I);title('Imagen Original');
subplot(222); imshow(J);title('Imagen-Sobel');
subplot(223); imshow(K);title('Imagen-Canny');
subplot(224); imshow(L);title('Imagen-Prewitt');
OPERACIONES
MORFOLOGICAS
1. DEFINICIONES BÁSICAS
La Morfología matemática es una técnica de procesado no lineal de la imagen, interesada
en la geometría de los objetos. Las operaciones morfológicas proporcionan información
sobre la forma o estructura de una imagen.
El Análisis morfológico permite extraer componentes de la imagen que son útiles en la
representación y descripción de la forma de las regiones como: fronteras, esqueletos y
permite obtener características relevantes de los objetos en la imagen como: Forma,
Tamaño.
El Procesado morfológico permite transformar la forma o la estructura de los objetos en
una imagen.
Existe tres tipos de morfología: Morfología binaria (es la más frecuente), Morfología de
niveles de gris y Morfología de imágenes policromáticas.
2. ELEMENTOS DEL PROCESADO MORFOLOGICO

Elementos del procesado morfológico


Los fundamentos del análisis y procesado morfológico se basan en el álgebra de conjuntos
y en la topología. Existen tres elementos en el proceso:
a) Conjuntos (Imágenes)
b) Elementos Estructurantes
c) Operadores Morfológicos: dilatación, erosión, apertura/cierre

a) CONJUNTOS
En una imagen binaria, los conjuntos existentes son puntos de un espacio 2D, cada
elemento es un punto de coordenadas (x,y) en el plano bidimensional de la imagen. Se
definen dos conjuntos (o planos):

Primer plano: A = {(x,y) | f(x,y) = 1}


Fondo: B = {(x,y) | f(x,y) = 0}

En una imagen de niveles de gris puede ser representada como conjuntos cuyos
componentes se encuentran en un espacio 3D. En este caso, dos componentes de cada
elemento de un conjunto se refieren a las coordenadas del píxel, y el tercer componente
está relacionado con la intensidad.
2. ELEMENTOS DEL PROCESADO MORFOLOGICO
b) ELEMENTOS ESTRUCTURANTES
Examinar la estructura geométrica de una imagen usando como sonda un patrón de ajuste
que se denomina elemento estructurante (SE.). El SE puede tener cualquier tamaño y forma
(horizontal, vertical, cuadrado, circular, etc.).
En Matlab se encuentra implementado en el comando strel, el cual crea un elemento de
estructura morfológica. Su sintaxis se muestra a continuación:
SE = strel(forma, parámetros) % crea un elemento estructurante de una forma determinada.
Ejemplo:
se1 = strel('square',3) % Cuadrado de 3-por-3
se2 = strel('line',9,0) % Línea de longitud 9 y ángulo de 0 grados
se3 = strel('disk',3) % Disco de radio 3
se4 = strel(‘rectangle’,[3 5]) % rectangulo de base 5 y alto 3
2. ELEMENTOS DEL PROCESADO MORFOLOGICO
c) OPERADORES MORFOLÓGICOS
Ditalación
La dilatación expande los píxeles de la imagen sobre la que se aplica.
Erosión
La erosión adelgaza la imagen sobre la que se aplica siendo, en un sentido no estricto, opuesta a
la dilatación.
Apertura (Opening)
Erosión seguida de una dilatación. Elimina pequeños píxeles aislados que haya en la imagen.
Cierre (Closing)
Dilatación seguida de una erosión. Rellena los pequeños agujeros que existan en la imagen.
La Apertura/cierre eliminan picos positivos/negativos más estrechos que el elemento
estructurante.
En Matlab se encuentran implementados en los siguientes comandos: imdilate, imerode, imclose,
imopen respectivamente para crear un elemento estructurante, dilatar, erosionar, cierre y
apertura.
La sintaxis de cada uno se muestra a continuación:
J = imdilate(I, SE) % la imagen I puede ser binaria o en gris
J = imerode(I, SE) % la imagen I puede ser binaria o en gris
J = imclose(I, SE) % SE no puede ser un array de elementos estructurantes
J = imopen(I, SE) % SE no puede ser un array de elementos estructurantes
3. FILTROS MORFOLOGICOS
Los filtros morfológicos se realizan sobre una imagen en escala de grises o binaria usando
un elemento estructurante SE y resaltan objetos de color contrario al fondo.
Tenemos dos filtros:
1. Positivo (white top-hat): El resultado de esta operación es útil para resaltar detalles
en la presencia de sombras (pequeños detalles brillantes).
2. Negativo (black top-hat o bottom-hat): Su aplicación es fundamentalmente para
que resalte detalles oscuros sobre un fondo local blanco.

En Matlab estos filtros están implementados en los siguientes comandos:

J= imtophat(I, SE);
J= imbothat(I, SE);
3. FILTROS MORFOLOGICOS
Otros comandos de matlab muy importantes en el procesamiento de imágenes que utilizan
la morfología matemática son los comandos bwmorph y imfill.
La función bwmorph realiza operaciones morfológicas en imágenes binarias. Su sintaxis es:
BW2 = bwmorph(BW, operación)
La operación aplica una determinada operación morfológica sobre la imagen binaria BW. Es
una cadena de caracteres que puede tomar algún valor de los permitidos. En la tabla se
listan algunos:

La función imfill nos permite rellenar regiones (los agujeros) de una imagen binaria o en
escala de grises. Su sintaxis es: bw = imfill (Imagen_binaria, 'holes')
SEGMENTACION
INTRODUCCION A LA SEGMENTACÓN
La segmentación es un proceso que consiste en dividir una imagen digital en regiones
homogéneas o similares con respecto a una o más características (como por ejemplo el brillo,
el color, tamaño, longitud, forma) con el fin de facilitar su posterior análisis y reconocimiento
automático. Es una de las áreas más importantes y complejas de la visión artificial, la cual ha
sido estudiada extensamente y continúa siendo tema de discusión.
Algunos ejemplos de problemas de segmentación son: localizar los ojos de una persona
dentro de la imagen de una fotografía, separar los caracteres dentro de una imagen de un
texto, localizar los vehículos en una calle dentro de una imagen, detectar ciertos tipos de
células en imágenes médicas, o en general, cuando se trata de separar ciertos objetos de un
fondo en una imagen cualquiera.
Los algoritmos de segmentación de imágenes generalmente se basan en dos propiedades
básicas de los niveles de gris de la imagen: Discontinuidad y Similitud.
Dentro de la primera categoría se intenta dividir la imagen basándonos en los cambios
bruscos en el nivel de gris. Las áreas de interés en esta categoría son la detección de puntos,
líneas y bordes en la imagen.
Las áreas dentro de la segunda categoría están basadas en las técnicas de umbrales,
crecimiento de regiones, y técnicas de división y fusión. En este apartado trataremos
solamente las técnicas basadas en umbrales y regiones.
No existe un método universal de segmentación. Está íntimamente ligada con la tarea que se
va a resolver y termina cuando satisface los objetivos del observador, es decir, cuando se
hayan detectado todos los objetos de interés para la aplicación.
1. SEGMENTACIÓN BASADO EN UMBRALIZADO
La umbralización es un proceso que permite convertir una imagen de niveles de gris o en
color en una imagen binaria, de tal forma que los objetos de interés se etiqueten con un valor
distinto de los píxeles del fondo.

La umbralización es una técnica de segmentación rápida, que tiene un coste computacional


bajo y que incluso puede ser realizada en tiempo real durante la captura de la imagen usando
un computador personal.

Si bien hay diferentes métodos para hallar un umbral, la mayoría de ellos no dan buenos
resultados cuando se trabaja con imágenes del mundo real, debido a la presencia de ruido,
histogramas planos o una iluminación inadecuada. Por el contrario, el método de Otsu fue
uno de los mejores métodos de selección de umbral para imágenes del mundo real, sin
embargo, necesita mucho más tiempo para seleccionar el umbral óptimo. La importancia del
método de Otsu radica en que es automático, es decir, no necesita supervisión humana ni
información previa de la imagen antes de su procesamiento.

Matlab posee la función graythresh, que calcula el umbral de la imagen global utilizando el
método de Otsu. Su sintaxis es:

T = graythresh(I)

Donde I es la imagen original y T es el umbral devuelto y está en el rango [0 1].


1. SEGMENTACIÓN BASADO EN UMBRALIZADO
1. SEGMENTACIÓN BASADO EN UMBRALIZADO
2. SEGMENTACIÓN POR REGIONES

La segmentación por regiones es utilizada para separar los objetos de interés. En este caso, la
imagen es particionada en diferentes regiones, quedándose cada una relacionada en ciertas
características y conjuntos de píxeles conectados. Así, a partir de la segmentación de la
imagen en regiones, pueden ser realizadas las medidas sobre cada región y las relaciones
entre las regiones adyacentes pueden ser establecidas.
Sea R la región correspondiente a la imagen que se va a segmentar. Vamos a ver el proceso de
segmentación como un proceso en el cual dividimos la región R en n subregiones R1, R2, . . .
,Rn, tal que:

La ecuación indica que la segmentación debe ser completa, es decir, que todo píxel debe
estar en una región.
2. SEGMENTACIÓN POR REGIONES – CRECIMIENTO POR REGIONES
Como el nombre indica, el crecimiento de regiones es un procedimiento mediante el cual se
agrupan píxeles o subregiones en regiones mayores. El procedimiento más sencillo se
denomina agregación de píxeles, que comienza a partir de un conjunto de píxeles semilla
(puntos de partida), de forma que a partir de cada semilla se crecen regiones añadiendo
píxeles a dicha semilla de entre aquellos píxeles vecinos que tienen propiedades similares. El
resultado de la segmentación dará lugar, como mucho, a tantas regiones como semillas haya.
Sin embargo, puede darse el caso de que dos de esas semillas correspondan a píxeles de la
misma región. En este caso el crecimiento desde una de las semillas absorberá a la otra.
Dos problemas fundamentales en el crecimiento de regiones son: por un lado, la selección de
las semillas que representen adecuadamente a las regiones de interés; y por otro, la elección
de las propiedades adecuadas que permitan ir añadiendo píxeles durante el proceso de
crecimiento.
La selección de los puntos de partida en muchos casos depende de la naturaleza de la imagen
que se va a segmentar. Por ejemplo, en aplicaciones militares con imágenes de infrarrojos, los
blancos de interés normalmente desprenden calor, por lo que corresponden a píxeles claros
frente a fondo oscuro. En este caso, los píxeles claros son una elección natural para las
semillas.
La selección del criterio de similitud depende no sólo del problema considerado, sino también
del tipo de imagen disponible. En cualquier caso siempre hay que tener en cuenta la
conectividad durante el proceso de crecimiento para que el resultado tenga significado dentro
de su contexto.
2. SEGMENTACIÓN POR REGIONES – CRECIMIENTO POR REGIONES

Un ejemplo del criterio de similitud empleado para el crecimiento puede ser que el valor
absoluto de la diferencia entre los niveles de gris del píxel candidato y la semilla, no exceda el
diez por ciento de la diferencia entre el mayor nivel de gris de la imagen completa y el menor.
Además los píxeles agregados a la región deben tener conectividad tipo ocho con respecto a
los píxeles ya incluidos en la región.

Se pueden emplear criterios adicionales que incrementen la potencia del algoritmo de


crecimiento de regiones, como el tamaño y la forma de la región crecida. La utilización de
criterios estadísticos acerca de las regiones de interés es de suma importancia, visto que estas
informaciones pueden hacer que los objetos existentes en la escena sean segmentados con
mayor eficiencia.

Otro problema añadido en el crecimiento de regiones es la regla de parada.


Básicamente, el crecimiento termina cuando no existen más píxeles en el vecindario de la
región ya crecida que cumplan el criterio de similitud.

La segmentación por regiones está implementada en Matlab básicamente a través de los


comandos bwlabel y Regionprops.
2. SEGMENTACIÓN POR REGIONES – CRECIMIENTO POR REGIONES

Bwlabel.- Etiqueta los componentes conectados en una imagen binaria. Su sintaxis es:
L = bwlabel(bw, n)
Donde retorna una matriz L del mismo tamaño de la imagen bw, que contiene etiquetas
para los objetos conectados en bw. El valor de n puede ser 4 u 8, donde especifica objetos
4-conectados y 8-conectados respectivamente. Si el argumento n se omite, el valor es 8.
Ejemplo:
I = imread('imagen.jpg');
umbral = graythresh(I); % Calcula el umbral entre [0 1]
I = im2bw(I, umbral); % binariza la imagen
L = bwlabel(I); % Crea regiones (etiqueta componentes conectados)
max(max(L)) % Imprime el número de objetos etiquetados
2. SEGMENTACIÓN POR REGIONES – CRECIMIENTO POR REGIONES
Regionprops.- Mide las propiedades de las regiones de una imagen. Su sintaxis es:
STATS = regionprops (L, propiedades)
Devuelve la medida de un grupo de propiedades para cada región etiquetada en la matriz L.
La tabla siguiente muestra algunas de las propiedades válidas para el comando regionprops.
2. SEGMENTACIÓN POR REGIONES – CRECIMIENTO POR REGIONES

%leo imagenes
img1=imread('C:\Imagen\fig1.png');
img2=imread('C:\Imagen\fig2.jpg');
img3=imread('C:\Imagen\fig3.jpg');
%convierto imágenes a escala de grises
img2_gris=rgb2gray(img2);
img3_gris=rgb2gray(img3);
%calculo los umbrales de las imágenes escala de grises
umbral_img2 = graythresh(img2_gris);
umbral_img3 = graythresh(img3_gris);
%binarizo las imágenes escala de grises
img2_umb = im2bw(img2_gris, umbral_img2);
img3_umb = im2bw(img3_gris, umbral_img3);
%etiqueteo las imagenes
L_img1 = bwlabel(img1);
L_img2 = bwlabel(img2_umb);
L_img3 = bwlabel(img3_umb);
%calculo de las regiones
stats_img1 = regionprops(L_img1, 'all');
stats_img2 = regionprops(L_img2, 'all');
stats_img3 = regionprops(L_img3, 'all');

También podría gustarte