Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.
-
Upload
ysabel-maese -
Category
Documents
-
view
222 -
download
0
Transcript of Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.
![Page 1: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/1.jpg)
Procesamiento de Imágenes MédicasLección #6-7: Algoritmos sobre imágenes
Noviembre, 2012
![Page 2: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/2.jpg)
Agenda• Procesamiento del Histograma• Análisis• Ecualización• Expansión/Contracción• Segmentación de imágenes
• Thresholding• Region Growing• Watershed
• Percepción del Color• PseudocolorProcesamiento de imágenes médicas
![Page 3: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/3.jpg)
PROCESAMIENTO DEL HISTOGRAMA
Trabajar con el histograma
Procesamiento de imágenes médicas
![Page 4: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/4.jpg)
Histograma• En una imagen en gris, es la representación
gráfica de la frecuencia de ocurrencia de cada nivel de gris en una imagen
• Arreglo unidimensional de valores h
h(k) = nk = card{(x,y) | f(x,y) = k}
• k = 0, 1, …, L-1 y L es el nro. de niveles de gris• card denota la cardinalidad de un conjunto
• En Matlab, la función imhist
Procesamiento de imágenes médicas
![Page 5: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/5.jpg)
Histograma• Un histograma normalizado se define como:
• n es el número total de píxeles
• p(rk) es la probabilidad del k-ésimo nivel de gris
• Histograma de una imagen de 8-bits:• Crear un arreglo de 256 posiciones• Inicializarlo en cero• Leer c/intensidad de píxel y sumar 1 en cada posición
Procesamiento de imágenes médicas
![Page 6: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/6.jpg)
Analizando un Histograma
Procesamiento de imágenes médicas
![Page 7: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/7.jpg)
Analizando un Histograma
Procesamiento de imágenes médicas
![Page 8: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/8.jpg)
Ecualización• Cambiar la distribución de los valores de grises
para obtener una forma más “distribuida”• Función de distribución acumulativa
• sk es el nuevo nivel de grises para todos los píxeles rk
• En Matlab, empleando la función histeq
Procesamiento de imágenes médicas
![Page 9: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/9.jpg)
Procesamiento de imágenes médicas
![Page 10: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/10.jpg)
Ecualización• Global (histeq) y local (adapthisteq)
Procesamiento de imágenes médicas
![Page 11: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/11.jpg)
Ecualización• Global (histeq) y local (adapthisteq)
Procesamiento de imágenes médicas
![Page 12: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/12.jpg)
Desplazamiento
• El desplazamiento se puede realizar con imadd y imsubtract
Procesamiento de imágenes médicas
A = original B = shift(I, +50) A-B
![Page 13: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/13.jpg)
Expansión
Procesamiento de imágenes médicas
• También conocida como input cropping
• Expande el histograma en el rango [rmin, rmax] del rango completo [0, L-1]
• Cada valor r, es mapeado a un valor s como
• La expansión aumenta el contraste• En Matlab, la función imadjust
![Page 14: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/14.jpg)
Expansión
Procesamiento de imágenes médicas
![Page 15: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/15.jpg)
Contracción
Procesamiento de imágenes médicas
• También conocida como output cropping
• Contrae el histograma en el rango [rmin, rmax] a un rango menor [smin, smax]
• Cada valor r, es mapeado a un valor s como
• La contracción reduce el contraste• En Matlab, la función imadjust
![Page 16: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/16.jpg)
SEGMENTACIÓN DE IMÁGENES
Extraer regiones de interés
Procesamiento de imágenes médicas
![Page 17: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/17.jpg)
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
Procesamiento de imágenes médicas
![Page 18: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/18.jpg)
Segmentación• Proceso complejo debido a:
• Presencia de iluminación discontinua• Sombras• Superposición de objetos• Poco contraste
Procesamiento de imágenes médicas
![Page 19: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/19.jpg)
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.
Procesamiento de imágenes médicas
![Page 20: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/20.jpg)
Basados en intensidad• Conceptualmente, es un enfoque sencillo• Emplea estadísticas de los píxeles (usando un
histograma) para determinar cuáles píxeles pertenecen al background o foreground
• Image thresholding: convertir una imagen de varios niveles de intensidad a una con menos (usualmente 2)
Procesamiento de imágenes médicas
![Page 21: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/21.jpg)
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:
1. Inspeccionar el histograma (imhist)
2. Seleccionar el valor apropiado de T
3. Aplicar el valor seleccionado (im2bw)
4. Si el resultado es satisfactorio, salvar la imagen. Sino, repetir los pasos 2-4
Procesamiento de imágenes médicas
![Page 22: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/22.jpg)
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? :-)
Procesamiento de imágenes médicas
![Page 23: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/23.jpg)
Thresholding• Ejercicio: empleando un thresholding “manual”
compararlo con el algoritmo anterior y empleando la función graythresh de Matlab
Procesamiento de imágenes médicas
![Page 24: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/24.jpg)
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
Procesamiento de imágenes médicas
![Page 25: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/25.jpg)
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
Procesamiento de imágenes médicas
promedio de píxeles
![Page 26: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/26.jpg)
Region Growing
Procesamiento de imágenes médicas
![Page 27: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/27.jpg)
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
Procesamiento de imágenes médicas
![Page 28: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/28.jpg)
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)
Procesamiento de imágenes médicas
![Page 29: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/29.jpg)
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
Procesamiento de imágenes médicas
![Page 30: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/30.jpg)
Modelo RGB• Valores desde 0x00 hasta 0xFF por canal
Procesamiento de imágenes médicas
![Page 31: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/31.jpg)
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
Procesamiento de imágenes médicas
![Page 32: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/32.jpg)
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
Procesamiento de imágenes médicas
![Page 33: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/33.jpg)
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
Procesamiento de imágenes médicas
![Page 34: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/34.jpg)
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
Procesamiento de imágenes médicas
![Page 35: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/35.jpg)
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
Procesamiento de imágenes médicas
![Page 36: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/36.jpg)
Intensity Slicing• En Matlab, la función grayslice
Procesamiento de imágenes médicas
![Page 37: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/37.jpg)
Intensity Slicing
Procesamiento de imágenes médicas
![Page 38: Procesamiento de Imágenes Médicas Lección #6-7: Algoritmos sobre imágenes Noviembre, 2012.](https://reader035.fdocument.pub/reader035/viewer/2022062315/5665b43d1a28abb57c904dc2/html5/thumbnails/38.jpg)
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
Procesamiento de imágenes médicas