Está en la página 1de 3

Segmentación Basada en Regiones

Umbralización: Matlab posee una función de cálculo automático del


umbral de un histograma. El cálculo está basado en tratar de optimizar la

Segmentación Basada media de intensidad a ambos lados del umbral

T = graythresh(f)
en Regiones donde f es la imagen original y T es el umbral. Hay que destacar que el
David García Pérez umbral es devuelto en el rango [0 1]. Para calcular la imagen umbralizada
Tratamiento Computacional de Imágenes
T = T * 255;
g = f <= T;

el código anterior convierte a negro todo lo que sea mayor que el umbral,
T, y a blanco todo lo que sea menor. Si se desea lo contrario hay que
poner >= en vez de <=

Segmentación Basada en Regiones Segmentación Basada en Regiones

Ejemplo:
Crecimiento de Regiones:
771111112222
[g, NR, SI, TI] = regiongrow(f, S, T); 221221112222
133342222222
donde f es la imagen a ser segmentada, S puede ser un array o un 123452222232
escalar. Si S es un array, tiene el mismo tamaño que la imagen, y especifica 222222222222
111111111111
S=8 T=2
donde van a estar las semillas a partir de las cuales la región va a crecer. Si
S es un escalar, define un valor de intensidad a partir del cual, si un pixel en 111111122222
la imagen tiene mayor o igual valor de intensidad se convierte en semilla. S 134444567341
también puede ser un array o un escalar de la misma forma que el valor de 123333736775
S. En este caso indica un límite a partir del cual se considera un pixel esta 442346688888
asociado con una semilla o no. Por otro lado, para que un pixel se 123445888888
considere asociado con una semilla tiene que tener una conectividad 8. 123456888888

Imagen Original

Segmentación Basada en Regiones Segmentación Basada en Regiones


Ejemplo:
Ejemplo:
771111112222
771111112222
221221112222
221221112222
133342222222
133342222222
123452222232
123452222232
222226662222
222222222222
111111111111
S=8 T=2 111111111111 S=8 T=2
111111122222
111111122222
134444567341
134444567341
123333736775
123333736775
442346688888
442346688888
123445888888
123445888888
123456888888
123456888888
Selección de puntos que cumplen la
Selección de puntos Semilla
condición límite T
Segmentación Basada en Regiones Segmentación Basada en Regiones
Ejemplo:

771111112222
221221112222
133342222222
123452222232 [g, NR, SI, TI] = regiongrow(f, S, T);
222226662222
111111111111 S=8 T=2 por último, g es la imagen con las regiones detectadas, NR es el número
111111122222 de regiones detectadas, SI es una imagen en blanco y negro donde de
134444567341 color blanco se pueden ver los pixeles semilla, TI es una imagen blanca y
123333736775 negro donde en color blanco están los pixeles que cumplen la condición
442346688888 límite.
123445888888
123456888888

Solamente se escogen aquellos que


tiene conectividad 8

Segmentación Basada en Regiones Segmentación Basada en Regiones


Funcionamiento:
Unión y División de Regiones:

g = splitmerge(f, mindim, fun);

donde f es la imagen la imagen original, mindim es un número entero


potencia de 2 el cual específica el tamaño mínimo de una región. fun es
una función que se le debe suministrar a Matlab, la cual debe seguir la
siguiente sintaxis

flag = predicate(region);
divide
donde region es la región que queremos evaluar que cumpla una
determinada condición, y flag es una bandera que puede valer verdadero
(true) y/o falso (false)
Imagen Se crean 4 regiones

Segmentación Basada en Regiones Segmentación Basada en Regiones


Funcionamiento: Funcionamiento:

Verdadero Verdadero Verdadero Verdadero Verdadero Verdadero


Se para de dividir
cuando llega al límite
de tamaño de una
Se divide F F región por mindim F F
Verdadero False Verdadero Verdadero
la región
F V F V
con la
etiqueta Se crean 4 nuevas Se unen las regiones que tengan
Se comprueba la
false regiones etiqueta verdadero y estén
condición fun en las
cuatro regiones continuas
Segmentación Basada en Regiones Segmentación Basada en Regiones
Crestas y valles: Crestas y valles:

L = watershed(D); Para calcular la imagen de crestas y valles, nos puede resultar útil la
siguiente función de Matlab
Esta función devuelve una matriz del mismo tamaño de la imagen a
procesar donde se marcan los puntos donde hay crestas D = bwdist(f);

calcula la distancia de todo pixel de la imagen f al pixel de color blanco


más cercano

11000 0.00 0.00 1.00 2.00 3.00


11000 0.00 0.00 1.00 2.00 3.00
00000 1.00 1.00 1.41 2.00 2.24
00000 1.41 1.00 1.00 1.00 1.41
01110 1.00 0.00 0.00 0.00 1.00

También podría gustarte