procesamiento de imágenes biomédicas · imagen indexada está formada por por una matríz de...

75
Procesamiento de Imágenes Biomédicas Curso 2012 Clase 1

Upload: others

Post on 02-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento de Imágenes Biomédicas

Curso 2012 Clase 1

Page 2: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento digital de imágenesProceso mediante el cual se toma una imagen y se produce una versión modificada de la misma. Todo esto por medio de un sistema de cómputo.

Filtros. Binarización. Operaciones morfológicas.

Ecualización.Imagen 2D Imagen 2D

Page 3: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

• Fotografía

• Rayos X

• Tomografía

• Restauración

• Filtros

• Segmentación

• Mediciones

• Interpretación

• Clasificación

• Selección de características

• 3D

Adquisición de imágenes

Procesamiento de imágenes

Análisis de imágenes

Análisis multi-vista

Etapas fundamentales del PDI

Page 4: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Adquisición de imágenes

Pre-procesamiento de imágenes

SegmentaciónPresentación y descripción

Reconocimiento e interpretaciónBase de

conocimiento

Problema Resultado

Page 5: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Modelo de una Imagen Digital

{ }255,,2,1,0, L∈jiM

.,,2,1;,,2,1mjni

L

L

==

Imagen Digital en nivel de gris

negroblanco jiM , 1, +jiM

jiM ,1+ 1,1 ++ jiM

jiM ,1− 1,1 +− jiM

1, −jiM

Page 6: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

{ }255,,2,1,0, L∈ΦjiM

.,,2,1;,,2,1mjni

L

L

==

Imagen Digital a Color

⎪⎩

⎪⎨

⎧=Φ

azulIIIverdeIIrojoI

,,,

Igual que antes (gris) pero hay tres componentes: una para el rojo, otra para

el verde y otra para el azul.

Page 7: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

jiIM ,

jiIIM ,

jiIIIM ,

{ }255,,2,1,0, L∈ΦjiM

.448,,2,1;291,,2,1

L

L

==ji

{ }255,,2,1,0, L∈ΦjiM

Imagen digital color

448

291

Page 8: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Resumen

Consideramos una función bidimensional para definir a una imagen.

(x,y) punto en la matriz f(x,y) da el valor de la intensidad lumínica en ese punto

0 ≤ f(x,y) ≤ L negro ≤ f(x,y) ≤ blanco

imagen matriz

m=320 ...... Filas ; n=200 ........columnas p=8 .........nº de bits para la cuantificación de una muestra

Cada punto de la matriz es un pixelEntonces la matriz queda de un tamaño dado, que simplificando M=N=256 MxNxP.....64k Bytes

Page 9: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen digital

Page 10: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen digitalUna imagen digital a[m,n] en un espacio discreto 2D, se deriva a partir de una imagen analógica a(x,y) en un espacio continuo 2D, a través de un proceso de muestreo y cuantización, que habitualmente llamamos digitalización.

La imagen continua 2D a(x,y) es dividida en N filas y M columnas. La intersección de una fila y una columna es llamada pixel. El valor asignado es a[m,n].

Page 11: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

PixelsUna imagen digital es un conjunto de puntos (x,y) discretos (2D), donde cada uno tiene un valor positivo I(x,y) ó un conjunto de valores (color=RGB).Para cada coordenada x,y I tiene un valor.El par (p, I(p)) es un pixel.p(r,c) es el pixel en la fila r y columna c.I(p) es el valor del pixel en el punto p.Si I(p) es un número, entonces I es una imágenmonocromática.Si I(p) es un vector, entonces I es una imagen color.

Page 12: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Cada cuadrado es un pixel

Una grilla de cuadrados y cada uno tiene un solo

color

Imágenes monocromo= 1 valor por pixel

Imágenes color= 3 valores por pixel

Page 13: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Profundidad de bitSe refiere a la cantidad de bits utilizados para expresar los distintos tonos de grises ó colores.Ej. Con 8 bits para escala de grises. En total 28=256 tonos de grises.

00000000=0 11111111=255

0 28 – 1=255

Page 14: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Bit de profundidad Extremos de intensidad

8 bits Sin signo 0 (negro) 255(blanco) Con signo -128 +127

16 bits Sin signo 0 65535 Con signo -32768 +32767

32 bits 0 4294967298 –2147483648 +2147483647

Page 15: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

MemoriaMedidas más exactas de intensidad requiere mayor profundidad de bit.Mayor profundidad de bit más memoria requerida para almacenar la imagen.La intensidad de cada pixel requiere más bits cuanto mayor es la profundidad.

Page 16: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ejemplo memoriaMemoria requerida=Resoluciónx x Resoluciónyx Bit de profundidad

Ej. 1024 x 768 y 256 tonos de grisesMem = 1024x768x8 = 6291456 bitsó 786432 bytes ó 768 kBytes

Page 17: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ejemplo memoriaMemoria requerida=Resoluciónx x Resoluciónyx Bit de profundidad

Ej. 1024 x 768 y True color (24 bits)Mem = 1024x768x24 =

Page 18: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen en tonos de grisesRecordemos que cada pixel en una dada posición, tiene asociado un valor de intensidad ó escala de gris.Ej. cada intensidad 8 bits por pixel.

00000000=0 11111111=255

0 28 – 1=255

Page 19: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

12500 0 0

0 0125 25 25 25 25

255

255

255

255

25 25 25

25 25 25 25 25

25 25 25

25

2525

25

0 125125125125125

125 25 25 25 25 25

255

255

255 255

125

125

125

125

125

25

2525

25 25

25

2525

25 2525

25 25

125 125 125 125

125

125

125

125

125

125

125

0 0 0 0 0 0 0 0 0 0 0

0 0

0 0

0

0

0

0

0

00

00

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0

0

0

0

0

0

0

0

00

La imagen como archivo

Page 20: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

255 255

255 255

255

255 255 255

0 0 0 0 0 0 0 0 0 0 0

000 0 0 0

0 0 0 0

0

0

0

0

0

00

000

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0

0

0

0

0

0

0

0

00

125 125 125 125 125

125

125

125

125

125

125

125

125

125

125

125

125

125

125125125125125

125

25 25 25 25 25

25 25 252525

25 25 25 25 25 25 25

25 25 25

25

2525

25

252525

25 2525

25 25

25 25 25 25 25

Page 21: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Relaciones básicas entre pixelesVecinos de un pixel p ubicado en las coordenadas (x,y)

Vecinos diagonales de un pixel p ubicado en las coordenadas (x,y)

Page 22: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Relaciones básicas entre pixeles

Medidas de distanciaPara los pixeles p, q y z, con coordenadas (x, y), (s, t) y (v, w), respectivamente, D es una función de distancia o métrica

(a)

(b)

(c)

La distancia Euclidiana entre p y q se define como:

Page 23: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Relaciones básicas entre pixeles

Medidas de distancia

22 1 2

2 1 0 1 22 1 2

2

La distancia D4 (llamada distancia city-block) entre p y q se define como:

Page 24: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Relaciones básicas entre pixeles

Medidas de distancia

2 2 2 2 22 1 1 1 22 1 0 1 22 1 1 1 22 2 2 2 2

,

La distancia D4 (llamada distancia tablero de ajedrez) entre p y q se define como:

Page 25: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Tipos de imágenesImagen binariaImagen indexadaImagen de intensidadImagen RGBImagen multiframe

Page 26: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen binariaImagen que sólo contiene pixels en blanco y negro.Las clases de datos para este tipo de imagen son : uint8 ó double.0 representa al negro1 representa al blanco

Page 27: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,
Page 28: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen de intensidadCada pixel tiene un valor de intensidad óescala de gris.Las clases de datos para esta imagen son: uint8, uint16 ó double.

Page 29: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,
Page 30: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen RGBCada pixel está especificado por tres valoresUn valor para el rojo, otro para el verde y otro para el azul. (Red, green, blue).La imagen está formada por un arreglo de MxNx3.Clase de datos son : uint8, uint16 ódouble.

Page 31: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen indexada

Page 32: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imagen indexadaEstá formada por por una matríz de datos y por una matríz de colores (colormap).La matríz de datos puede ser uint8, uint16 ódouble.La matríz de colores es un arreglo de Mx3 de clase double.Cada fila en el mapa especifica los 3 colores.Un valor 1 en el mapa de datos apunta a la primera fila del mapa de colores.Dato: índice en el mapa de colores.

Page 33: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,
Page 34: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Formato de imágenes estándaresBMP Window Bitmap .bmpGIF Graphics Interchange Format .gifTIFF Tag Image File Format .tif .tiffJPEG Joint Photographic Expert Group .jpg .jpegPNG Portable Network Graphics .png

Page 35: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Clase de datosdouble: punto flotante, doble precisiónuint8: entero sin signo, 8 bits, [0,255]uint16: entero s/signo, 16 bits, [0,65535]uint32: entero s/signo, 32 bitsint8: entero c/signo, 8 bits, [-128,+127]int16: entero c/signo, 16 bits, [-32768,+32767]logical: 0 ó 1, un byte por elementochar: caracteres, 2 bytes por elemento

Page 36: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Coordenadas : convenciones

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

0 1 2 3 4 5 ………………....N-10

1

2

3

4

.

.

M-1

pixel

x

Page 37: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Coordenadas : convenciones

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

1 2 3 4 5 … … … … … … . ...N1

2

3

4

5

.

.

M

pixel

x

Page 38: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Coordenadas : convenciones1 2 3 4 5 … … … … … … . ...N

1

2

3

4

5

.

.

M

x

(x,y) (x-1,y+1)

(x,y+1)

(x+1,y)

Page 39: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Imágenes como matrices

f(1,1) f(1,2) …. f(1,N)f(2,1) f(2,2) …. f(2,N)…….. ……. … ……..

f(M,1) f(M,2) …. f(M,N)

⎥⎥⎥⎥

⎢⎢⎢⎢

−−−−

−−

=

)1,1(....)1,1()0,1(....................................

)1,1(....)1,1()0,1()1,0(....)1,0()0,0(

),(

NMfMfMf

NfffNfff

yxf

f =

Page 40: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Lectura de imágenesf = imread(“archivo”)

Soporta los formatos antes mencionadossize(f)

Dimensión de la imagen: filas x columnas1024 x 1024

Page 41: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Mostrando imágenesimshow(f, G)

Donde f es una imagen y G el número de intensidades de grises a mostrar.Si G no es especificado, default=256

imshow(f, [low high])Muestra como negros los valores <= que low y como blancos los valores >= que high. Las intensidades intermedias son mostradas usando el número de niveles por default.

Page 42: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Definiciones: brilloSe define como brillo al nivel medio de gris de una imagen.

Page 43: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Definiciones: contrasteUna definición formal: es la variación de gris de un punto respecto al brillo de la imagen. Tiene que ver con la relación entre el gris más claro y el más oscuro

Page 44: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Definiciones: histogramaHistograma es una gráfica en el cual se cuenta la frecuencia de color, es útil para cambiar la intensidad de luz de una imagen respetado sus atributos característicos.

Frecuencia relativa

Escala de grises

Page 45: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento de imágenes en el dominio espacial

Técnicas en el dominio espacial operan directamente sobre los pixels de la imagen.

donde de entrada y es la imagen de salida.

T es un operador sobre que fuede ser

[ ]),(),( yxfTyxg = ),( yxf),( yxg

f

Page 46: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,
Page 47: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento de imágenes en el dominio espacial

Transformación del pixel

Mejoramiento aplicando operaciones aritmético lógicas

Filtros espaciales

Page 48: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento del pixel (punto)

En una imagen digital: punto=pixelProcesamiento del punto transforma el valor del pixel como función de su propio valorNo depende del valor de los pixels vecinosLlamadas funciones que transforman la intensidad

Page 49: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento del pixel

Ajuste de brillo y contrasteCorrección gammaEcualización de histogramaEspecificación del histogramaCorrección del color

Page 50: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Modificación del brilloEsto se logra sumando o restando un valor cte. a cada pixel de la imagen de entrada.Si sumo una cte. la imagen se desplaza a zonas más brillantes (histograma a derecha).Si restamos una cte. la imagen va a zonas más oscuras (histograma se desplaza a izquierda).

Page 51: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Modificación del contrasteRango de intensidad de la imagen.Una imagen con poco contraste, tiene un rango reducido de intensidad respecto del rango disponible.Se puede mejorar re-escalando la intensidad de cada pixel.De acuerdo a este método la intensidad de cada pixel es modificada según una transformación g=T(i), siendo i y g las intensidades de entrada y salida respectivamente.

Page 52: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Rango total disponible (entrada)

Diferencia de intensidad de

imagen de entrada

Rango de intensidad de la imagen procesada

Diferencia de intensidad de

imagen de salida

Intensidad de entrada

Intensidad de salida

Page 53: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Otra transformación : negativo de una imagen

Intensidad de entrada

Intensidad de salida

28 – 1=255

28 – 1=255

Page 54: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Binarización de imágenesUna imagen en tonos de gris es convertida en una imagen binaria : blanco y negro.Los valores de los pixels de la imagen de entrada que son menores a cierto umbral prefijado, son convertidos a negro, mientras que los pixels con valores mayores al umbral son convertidos al blanco.

Page 55: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

También llamada función umbral

Intensidad de entrada

Intensidad de salida

Umbral

Transformación

255

255

Profundidad de pixel = 8 bits

Page 56: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Funciones de transformación de intensidad (escala de grises)

S=T(r) depende del valor de la intensidad (tono de gris) y no de la coordenada.

S es la intensidad de g (imagen de salida) y r es la intensidad de f (imagen de entrada) en el punto x,y.

Page 57: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Función imadjust

g=imadjust(f, [low_in high_in], [low_out high_out], gamma)

entrada

salida

salida

gamma<1

gamma>1

entrada

entrada

salida gamma=1

Page 58: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Función imadjustEsta función mapea la intensidad de la imagen f, a nuevos valores de intensidad de la imagen gLa función transforma los valores de entrada entre low_in y high_in a valores entre low_out y high_outValores por debajo de low_in son mapeados a low_out.

Page 59: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Función imadjustLos valores se especifican entre 0 y 1. Según la clase de la imagen son multiplicados por 255=unit8, 65535=unit16Si gamma > 1, entonces el mapeo es hacia abajo, imagen más oscura.Si gamma < 1, entonces el mapeo es hacia arriba y la imagen es más clara.

Page 60: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Función imadjustPara extender la escala de grises

Otra función: negativo de una imagen

g=imadjust(f, [0.5 0.75 ], [0 1 ], gamma)

g=icomplement(f)

Page 61: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Transformación logarítmica Uso principal: manejo del rango dinámico.

g=c * log (1+double(f))

donde c es una constanteSimilar a la función gamma, pero ésta varía su forma.

Page 62: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Estiramiento (stretching) del contrasteOtra función para el manejo del rango dinámico.Para niveles de entrada menores que m, los comprime en un estrecho rango de niveles oscuros, de la misma manera para niveles de entrada mayores que m, los comprime en un rango de niveles claros.Caso extremo : función umbral

Page 63: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

r

s =T(r)

m

La usaremos más adelante (segmentación)

( )rmrTs E

+==

1

1)( g = 1/(1+m/(double(f)+eps))^E)

Page 64: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento del histogramaEl histograma de una imagen digital con L niveles de intensidad en el rango [0,G] ó [0,L-1] es definido como la función discreta

donde rk es el k-ésimo nivel de intensidad en el intervalo [0,G] y nk es el número de pixels en la imagen con intensidad rk..Para imágenes clase uint8 G=255=28 – 1 Para imágenes clase uint16 G=65535=216 – 1 Para imágenes clase double G=1.0

nrh kk =)(

Page 65: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Procesamiento del histogramaA menudo es útil trabajar con histogramas normalizados.Para esto dividimos todos los elementos del histograma por el número total de pixels de la imagen.

La función para tratar con histogramas es :h=imhist(f,b)

donde f es la imagen de entrada, h el histograma y b el número de intervalos (default=256).

nn

nrhrp kk

k ==)()(

Page 66: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ecualización de histogramaSupongamos que los valores de intensidad r (imagen a ser procesada) son continuosCon r en el rango [0, G]=[0, L-1]La transformación será de la formas=T(r) 0 r L – 1

Supongamos :a) T(r) es una función monótonamente creciente en 0 r L – 1 b) para 0 r L – 1a´) hagamos que sea estrictamente monótona creciente

≤ ≤

≤ ≤0 T(r) L – 1≤ ≤ ≤ ≤

Page 67: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ecualización de histogramaCon a) se garantiza que los valores de intensidad nunca serán menores a los de entrada, así no habrá inversiones de intensidad en la salida.b) Asegura que el rango de salida es igual al rango de entrada.a´) Finalmente garantizanos que el mapeo sea 1 a 1 y no existirán ambiguedades.

Page 68: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ecualización de histogramaMonótonamente creciente

en sentido estrictoT(r) T(r)

rr

Monótonamente creciente

L-1

L-1L-1

L-1

sk

Valores múltiples

Page 69: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ecualización de histogramaSi vemos los niveles de intensidad como una variable aleatoria en [0, L-1].

Sea pr(r) y ps(s) las funciones densidad de probabilidad de r y s respectivamente.

Un resultado conocido de las probabilidades

dsdrrpsp rs )()( =

Page 70: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ecualización de histogramaSi la función de transformación es

Para encontrar la derivada

dwwpLrTsr

r )()1()(0∫−==

101

1)()1(

1)()()(

)()1()()1()(

0

−≤≤−

=−

==

−=⎥⎦

⎤⎢⎣

⎡−== ∫

LsLrpL

rpdsdrrpsp

rpLdwwpdrdL

drrdT

drds

rrrs

r

r

r

Distribución uniforme

Page 71: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ecualización de histograma

Se demostró que haciendo una transformación como la anterior, se obtiene una va con fdp uniforme.

Page 72: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Si es discreta….

1.....2,1,01)()1()(00

−=−

=−== ∑∑==

LknMNL

rpLrTsk

jjj

k

jrkk

Ej. Imagen 64x64 pixels con L=8 tonos de grises. MN=4096

Page 73: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Ej. Imagen 64x64 pixels con L=8 tonos de grises. MN=4096

rk nk pr(rk)= nk/MN0 790 0,191 1023 0,252 850 0,213 656 0,164 329 0,085 245 0,066 122 0,037 81 0,02

Page 74: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

Función densidad de probabilidad

0 1 2 3 4 5 6 7

0,250,200,150,100,05

Page 75: Procesamiento de Imágenes Biomédicas · Imagen indexada Está formada por por una matríz de datos y por una matríz de colores (colormap). La matríz de datos puede ser uint8,

33,1)(7)(7)( 0

0

000 ==== ∑

=rprprT rj

jrs

700,7655,4786,6555,4765,6308,3623,6133,1

00,786,665,623,667,555,4

08,3)(7)(7)(7)(

73

62

51

40

76

5432

10

1

011

⎯→⎯=⎯→⎯=

⎯→⎯=⎯→⎯=

⎯→⎯=⎯→⎯=

⎯→⎯=⎯→⎯=

======

=+=== ∑=

ssssssss

ssssss

rprprprTs rrjj

r