Expansión
Contracción
Segmentación de imágenes
Extraer regiones de interés
Segmentación
Proceso de particionar una imagen en un conjunto de regiones disjuntas cuya unión forma la imagen completa
Estas regiones, generalmente corresponden a objetos, fondo, etc.
La mayoría de los algoritmos de segmentación se basan en dos principios:
Discontinuidad
Similaridad
Segmentación
Proceso complejo debido a:
Presencia de iluminación discontinua
Sombras
Superposición de objetos
Poco contraste
Segmentación
Muchas técnicas ad-hoc
Las técnicas pueden variar de acuerdo a:
Tipo de imagen (binaria, gris, color)
Selección de la técnica matemática (morfología, estadística, basada en grafos, etc.)
Tipo de característica (intensidad, color, textura, movimiento, etc.)
Enfoque algoritmico (top-down, bottom-up, grafos)
Una posible clasificación es: métodos basados en intensidad, basados en regiones y otros métodos.
Basados en intensidad
Thresholding
IPT tiene una función para convertir una imagen en grises a binaria: im2bw
La función recibe como parámetro el threshold T
El algoritmo de una técnica básica de thresholding es:
Inspeccionar el histograma (imhist)
Seleccionar el valor apropiado de T
Aplicar el valor seleccionado (im2bw)
Si el resultado es satisfactorio, salvar la imagen. Sino, repetir los pasos 2-4
Thresholding
Probemos el siguiente algoritmo:
Ioriginal = imread('coins.jpg');
I = rgb2gray(Ioriginal);
imshow(I);
Id = im2double(I); % I is a uint8 grayscale image
T = 0.5*(min(Id(:)) + max(Id(:)));
deltaT = 0.01; % convergence criterion
done = false;
while ~done
g = Id >= T;
Tnext = 0.5*(mean(Id(g)) + mean(Id(~g)));
done = abs(T – Tnext) < deltaT;
T = Tnext;
end
imshow(im2bw(I, T)); %what means T? 🙂
Thresholding
Ejercicio: empleando un thresholding manual compararlo con el algoritmo anterior y empleando la función graythresh de Matlab
Basados en regiones
Concepto de conectividad. Partición de I en n regiones R1, R2, R3, R4
Region growing
Comenzar en p e ir creciendo alrededor de ésta mientras se cumpla el criterio de homogeneidad
Region Growing
Requiere de una(s) semilla(s)
Se necesita definir:
El criterio de similitud
¿Cómo se selecciona la semilla?
El criterio de parada
promedio de píxeles
Region Growing
Watershed
Técnica morfológica que su nombre deriva de la geografía
Watershed significa la línea divisora (general-mente cordilleras/mon-tañas) que divide las áreas drenadas por dife-rentes sistemas fluvia-les
Watershed
IPT tiene la función watershed
Requiere una imagen de entrada y el criterio de conectividad (4 u 8 vecinos)
Adicionalmente, en Matlab existe una función para la distancia que se usa en conjunto con watershed
Esta función calcula la distancia de un píxel al píxel más cercano de éste distinto de 0. La función se llama bwdist y contiene distancia Euclideana y de Ciudad (Manhattan)
Percepción del Color
Combinación de las propiedades de la luz + el aspecto psicológico del sistema de visión humano
Los modelos de color es una especificación de un sistema de coordenadas y un subespacio, donde cada color es representado como un punto
Pueden variar de acuerdo al área de trabajo:
Fotografía
Física
Materiales
Algoritmos
Modelo RGB
Valores desde 0x00 hasta 0xFF por canal
Modelo CMY y CMYK
Emplea los 3 colores primarios (pigmentos):
Cyan
Magenta
Amarillo
Empleado por las impresoras
El cuarto color: blacK (CMYK)
En Matlab, la conversión entre RGB y CMYK se realizar con la función imcomplement
Modelo HSV
Hue, describe el tipo de color (tono)
Saturation, medida de la pureza (diluido en blanco)
Value, intensidad de la luz reflejada desde los objetos
Modelo HSV
Capacidad de distinguir colores distintos por un humano
Algoritmos basados en HSV
Problemas con los valores alrededor del rojo y conversión a RGB (costoso)
En Matlab: rgb2hsv y hsv2rgb
Otros Modelos
YIQ (NTSC), empleado para la televisión analógica (América)
Y: luminancia, I: dos señales de color, Q: saturación
En Matlab, rgb2ntsc y ntsc2rgb
YCbCr, usado para video digital
Y: luminancia, Cb: diferencia en azul, Cr: diferencia en rojo y valor referencia
En Matlab, rgb2ycbcr y ycbcr2rgb
PseudoColor
Realzar una imagen monocroma para propósitos visuales
Niveles de grises opacan regiones de interés (ejemplo: presencia de un tumor)
El ojo humano es capaz de distinguir miles de intensidades de color, y solo 100 niveles de grises
Solución típica: usar una LUT (lookup table) y contrastar colores consecutivos
Diversas técnicas de pseudocolor
Intensity Slicing
En Matlab, la función grayslice
Intensity Slicing
Otras técnicas
Niveles de grises a transformaciones de color
Pseudocolor en el dominio de la frecuencia
Pseudolor después de un proceso de segmentación a cada región
Página anterior | Volver al principio del trabajo | Página siguiente |