You are on page 1of 84

Operaciones morfolgicas

Operaciones morfolgicas
Morfologa: Rama de la biologa que trata de la
forma y estructura de animales y plantas
Morfologa en imgenes: Herramientas y mtodos
utilizados para extraer componentes de la misma,
tiles en la descripcin y representacin de formas
(contornos, esqueletos, etc.)
Esqueleto

Operaciones morfolgicas (II)


El valor de cada pxel en la imagen de salida
depende del valor de ese pxel en la imagen de
entrada y su relacin con la vecindad
1

Elemento estructural: Define el tamao y la


forma de la vecindad en la que se aplicar la
operacin morfolgica

Dilatacin
Dilatacin: Se adiciona pxeles al contorno de
objetos presentes en la imagen
Pxel de salida: Mximo de los pxeles presentes
en la vecindad definida por el elemento estructural
Imagen de entrada

Elemento estructural

Imagen de salida

Dilatacin (II)
Pasos para aplicar la dilatacin
1.- Seleccionar el pxel de la imagen original a tratar
2.- Buscar el mayor de los pxeles de la vecindad,
incluido el central, definidos por la forma y tamao
del elemento estructural
3.- Sustituir el valor del pxel por el mximo valor

Los anteriores pasos se ejecutan para todos los


pxeles de la imagen

Dilatacin: Escala de grises


15

27

100

95

125

30

15

27

100 125

125

30

% Ejemplo de dilatacin
% Imagen de entrada
I=[0 0 0 0 0 0 0;
0 0 0 0 0 0 0;
0 0 15 27 8 0 0;
0 0 100 95 1 0 0;
0 0 125 30 2 0 0;
0 0 0 0 0 0 0;
0 0 0 0 0 0 0];
imshow(imresize(I,[520,520]));
% Se define el elemento estructural
Ele=strel('square',3);
% Se aplica dilatacin
I1=imdilate(I, Ele);
figure;
imshow(imresize(I1,[520,520]));

Dilatacin: Escala de grises(II)


% Ejemplo de dilatacin
% Imagen de entrada
I=[0 0 0 0 0 0 0;
0 0 0 0 0 0 0;
0 0 15 27 8 0 0;
0 0 100 95 1 0 0;
0 0 125 30 2 0 0;
0 0 0 0 0 0 0;
0 0 0 0 0 0 0];
imshow(imresize(I,[520,520]));
% Se define el elemento estructural
Ele=strel('square',3);
% Se aplica dilatacin
I1=imdilate(I, Ele);
figure;
imshow(imresize(I1,[520,520]));

>> I1
0
0
0
0
0
0
0

0
15
100
125
125
125
0

0
27
100
125
125
125
0

0
0
0 0
27 27 8 0
100 95 8 0
125 95 8 0
125 95 2 0
125 30 2 0
0
0
0 0

Dilatacin: Escala de grises(III)


Figura original

>> I2=imdilate(I1,ee);

Erosin
Erosin: En imgenes binarias, elimina pxeles del
contorno de objetos presentes en la imagen
Pxel de salida: Mnimo de los pxeles presentes
en la vecindad definida por el elemento estructural
Imagen de entrada

Elemento estructural

Imagen de salida

Erosin: Escala de grises


Si en el ejemplo anterior del programa MATLAB se sustituye
la funcin imdilate por imerode resulta:

Entrada
I=[0
0
0
0
0
0
0

0 0 0 0 0 0;
0 0 0 0 0 0;
0 15 27 8 0 0;
0 100 95 1 0 0;
0 125 30 2 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0];

Salida
I1 =[ 0
0
0
0
0
0
0

0
0
0
0
0
0
0

0
0
0
0
0
0
0

0
0
0
1
0
0
0

0
0
0
0
0
0
0

0
0
0
0
0
0
0

0
0
0
0
0
0
0]

Erosin: Escala de grises (II)


Figura original

>> ee=strel('square', 24);


>> I2=imerode(I1,ee);

Elemento Estructural
Elemento estructural: Define la forma y el tamao de la
vecindad del pxel que ser analizado, para posteriormente
alterar su valor
Composicin: Formada por ceros y unos de forma y tamao
arbitrario en la cual las posiciones donde est el uno
define la vecindad
Matriz que define el elemento estructural: Tiene un tamao
muy inferior al tamao de la matriz original que define la
imagen a la que modificar

Elemento Estructural (II)


Origen del elemento estructural
Centro=(tamao+1)/2
Para el elemento estructural cuadrado de tamao
3x3 el centro ser:
Centro=(3+1x3+1)/2=2x2
1

1
(3x3)

Elemento Estructural (III)


>> ee=strel('diamond', 3)
0 0 0 1 0 0
0 0 1 1 1 0
0 1 1 1 1 1
1 1 1 1 1 1
0 1 1 1 1 1
0 0 1 1 1 0
0 0 0 1 0 0

0
0
0
1
0
0
0

>> ee=strel('disk', 4)
0 0 1 1 1
0 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
0 1 1 1 1
0 0 1 1 1

0
1
1
1
1
1
0

0
0
1
1
1
0
0

Elemento Estructural (IV)


>> a=[0 1 0 1; 0 0 0 0; 0 0 0 0;
1 0 1 0];
>> se=strel('arbitrary',a)
0 1 0 1
0 0 0 0
0 0 0 0
1 0 1 0

>> ee=strel('line', 7, 135)


1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1

Elemento Estructural (V)


>> ee=strel('octagon', 3)

0
0
1
1
1
0
0

0
1
1
1
1
1
0

1
1
1
1
1
1
1

1
1
1
1
1
1
1

1
1
1
1
1
1
1

0
1
1
1
1
1
0

0
0
1
1
1
0
0

>> ee=strel('rectangle', [4 3])


1 1 1
1 1 1
1 1 1
1 1 1

Recuperacin de caracteres
incompletos
ee=strel('diamond', 1)
Sal = imdilate(I,ee);

Imagen: www.imageprocessingplace.com

Referencias de aplicacin
de la dilatacin
ee=strel('disk',18,0);
I4=imdilate(I, ee);
I

I4

Referencias de aplicacin
de la dilatacin (II)
ee=strel('square',20);
I5=imdilate(I, ee);
I

I5

Ejemplo de aplicacin
de la dilatacin
>> I=imread('pirata.jpg');
>> II=im2bw(I);
% Se define el elemento estructural
>> eI1=strel('disk', 2)
% Se aplica la dilatacin
>> I1=imdilate(II, eI1);

Referencias de aplicacin
de la erosin
ee=strel('square',5);
I1=imerode(I, ee);
I

I1

Referencias de aplicacin
de la erosin (II)
ee=strel('square',3);
I2=imerode(I, ee);
I

I2

Referencias de aplicacin
de la erosin (III)
ee=strel('disk',18,0);
I3=imerode(I, ee);
I

I3

Ejemplo de aplicacin
de la erosin
% Se define el elemento estructural
>> eI1=strel('disk', 3)
% Se aplica la erosin
>> I1=imerode(II, eI1);

Ejemplo de aplicacin
de la erosin (II)

Dilatacin vs erosin
Dilatacin
Ampla bordes
Une objetos prximos
Une puntos blancos prximos
Elimina detalles negros pequeos
Erosin
Reduce bordes
Separa objetos prximos
Elimina puntos blancos separados
Ampla detalles negros pequeos

Combinacin de la
dilatacin y la erosin
Apertura: Es la realizacin de una erosin seguida de una
dilatacin, utilizando el mismo elemento estructural en
ambas operaciones
Aplicaciones:
Suaviza contornos de los objetos
Elimina pequeas protuberancias
Rompe conexiones dbiles

ee=strel('diamond', 2);
I1=imerode(I,ee);
I2=imdilate(I1,ee);

ee=strel('diamond', 2);
I2=imopen(I,ee);

Apertura
imshow(I2)
ee=strel('diamond', 4);
Sal = imopen(I2,ee);
Sal1=im2bw(Sal, 0.9);
I2

Sal

Sal1

Apertura (II)
Definir y aislar
formas,
para contar

Combinacin de la dilatacin
y la erosin (II)
Cerradura: Es la realizacin de una dilatacin seguida de
una erosin, utilizando el mismo elemento estructural
en ambas operaciones
Aplicaciones:
Rellenar detalles, conectando objetos que estn prximos entre s
Tambin suaviza los contornos
Rellena vacos en el contorno
Elimina pequeos huecos

ee=strel('diamond', 3);
I1=imdilate(I,ee);
I2=imerode(I1,ee);

ee=strel('diamond', 3);
I2=imclose(I,ee);

Cerradura
ee=strel('diamond', 3);
I2=imclose(I,ee);
I

I2

Cerradura (II)
Aumentar la definicin de formas
% Se define el elemento estructural
>> eI1=strel('disk', 5);
% Se aplica la cerradura
>> III=imclose(II,eI1);

Comparacin entre Apertura y


Cerradura
Elemento estructural: >> ee=strel('square', 12)
Original
Imagen original

Apertura
Opening

Cerradura
Closening

Comparacin entre Apertura y


Cerradura (II)
Elemento estructural: >> ee=strel('square', 12)
Apertura

Cerradura

Closing

Opening

Original

Comparacin entre Apertura y


Cerradura (III)
Apertura

Cerradura

Ejemplos de Aplicacin
Definicin de formas
>> RGB = imread('pillsetc.png');
imshow(RGB);

I = rgb2gray(RGB);
threshold = graythresh(I);
bw = im2bw(I,threshold);

Ejemplos de Aplicacin (II)


Se eliminan los objetos con menos de 30 pxeles 8 conectados
bw = bwareaopen(bw,30);

Ejemplos de Aplicacin (III)


Llena espacio existente en el casquillo de la pluma

se = strel('disk',2);
bw = imclose(bw,se);

Ejemplos de Aplicacin (IV)


Eliminar ruido manteniendo formas
Erosionar
Dilatar
Dilatar
Erosionar

Apertura
Cerradura

Ejemplos de Aplicacin (V)


Definicin de caracteres

Programa del ejemplo

Otras operaciones compuestas:


Transformada de ganancia o prdida
(hit-or-miss)
Se define por la siguiente expresin:

A B ( A erosin B1 ) ( A erosin B2 )
c

Imagen

Complemento
de la imagen

Elemento
Estructural 1

Elemento
Estructural 2

Operacin AND de la imagen, erosionada con un elemento


estructural y el complemento de la imagen, erosionada con
otro elemento estructural

Operaciones lgicas
entre imgenes

>> III=Iⅈ (AND)

>> VI=II&~I;(Diferencia)

II

>> IV=I|II; (OR)

>> V=~II;(NO)

Transformada de ganancia o
prdida (hit-or-miss)
Conjunto de puntos a los que simultneamente coinciden
B1 en A y B2 en el complemento de A
>>b1=strel([0 0 0; 0 1 1; 0 1 0]);
>>c1=imerode(a, b1);

>>c3=c1&c2;

>>b2=strel([1 1 1; 1 0 0; 1 0 0]);
>>c2=imerode(imcomplement(a), b2);

Funcin general
>>c3=bwhitmiss(a, b1, b2);

Transformada de ganancia o
prdida (hit-or-miss) (II)
Detectar esquinas

Aplicaciones:
Identificar configuracin
predefinida de pxeles
Detectar pxeles aislados
Puntos finales de lneas

Transformada de ganancia o
prdida (hit-or-miss) (III)
% Se definen los elementos estructurales
>> b11=strel([0 0 0; 0 1 1; 0 1 0]);
>> b12=strel([1 1 1; 1 0 0; 1 0 0]);
>> b21=strel([0 0 0; 1 1 0; 0 1 0]);
>> b22=strel([1 1 1; 0 0 1; 0 0 1]);
>> b31=strel([0 1 0; 1 1 0; 0 0 0]);
>> b32=strel([0 0 1; 0 0 1; 1 1 1]);
>> b41=strel([0 1 0; 0 1 1; 0 0 0]);
>> b42=strel([1 0 0; 1 0 0; 1 1 1]);
% Se identifican los pxeles que definen las esquinas del rectngulo
>> III=bwhitmiss(II, b11, b12);
>> IV=bwhitmiss(II, b21, b22);
>> V=bwhitmiss(II, b31, b32);
>> VI=bwhitmiss(II, b41, b42);
% Se unen las esquinas identificadas
>> VII=III+IV+V+VI;
% Se ampla para visualizar
>> VIII=imdilate(VII,ee);
>> imshow(VIII)

Obtencin del permetro


Sustraccin a la imagen la erosin de la imagen

P( A) A ( A erosin B)
>>ee = strel('diamond',3)
>>bw1=imerode(bw, ee);
>>bw2=bw-bw1;

El permetro puede ser ms


delgado en funcin del
elemento estructural
que se utilice

Obtencin del permetro (II)


Sustraccin a la dilatacin de la imagen la erosin
de la propia imagen
>>I1=imdilate(I,ee);
>>I2=imerode(I,ee);
>>I3=imsubtract(I1,I2);

Obtencin del permetro (III)


% Se erosiona y sustrae
>> eI1=strel('square', 5);
>> V=imerode(IV,eI1);
>> VI=imsubtract(IV,V);
% Se dilata y sustrae la imagen erosionada
>> VII=imdilate(IV,eI1);
>> VIII=imsubtract(VII,V);

Obtencin del permetro (IV)


>>III=im2bw(II,.7);
>>IV=bwperim(III,8);

Conectividad

Llenar huecos
Pasos del algoritmo:
Imagen semilla (todos ceros
excepto un 1)
% Define imagen semilla
II=uint8(zeros(size(I)));
[a, b]=size(I); a=uint8(a/2);
b=uint8(b/2);
II(a,b)=uint8(255);

%Aplica el algoritmo
ee=strel('square',3);
while (I-II)~=0
II=((imdilate(II,ee))& (~I))
end

Repetir hasta X k X k 1

X k X k 1 Dilatacin B AC

Deben conocerse
los puntos en los
huecos a llenar

Llenar huecos (II)


>> points=[122,147;146,396;308,233]
points =
122 147
146 396
308 233
>> II = imfill(I,points);

Conectividad
% Funcin para calcular el permetro
BW2 = bwperim(BW1,conn)
Conectividad
Depende de la vecindad de un pxel
Vecindad horizontal/vertical

Vecindad diagonal

Conectividad (II)
Vecindad 8

Funcin que define conectividad (dimensin 2)


>> conndef(2,'min')
0 1 0
1 1 1
0 1 0

>> conndef(2,'max')
1 1 1
1 1 1
1 1 1

Conectividad definida
por el programador
>> vertical
[0 1 0
0 1 0
0 1 0]

Conectividad (III)
Cuntos objetos?
A=
0
0
0
0
0

0
1
1
0
0

0
1
1
0
0

0
0
0
1
1

0
0
0
1
1

0
0
0
0
0

Si conectividad 4: 2 objetos
Si conectividad 8: 1 objeto
>> conndef(2,'min')
0 1 0
1 1 1
0 1 0

>> conndef(2,'max')
1 1 1
1 1 1
1 1 1

Conectividad (IV)
Determinar el nmero de objetos n conectados
bwlabel(I,n)
A=
0
0
0
0
0
0

0
1
1
0
0
0

0
1
1
0
0
0

0
0
0
1
1
0

0
1
1
1
1
0

0
1
1
0
0
0

0
0
0
0
0
0

X=bwlabel(A,4) % Cuatro conectados

X=bwlabel(A,8) % Ocho conectados

X=
0
0
0
0
0
0

X=
0
0
0
0
0
0

0
1
1
0
0
0

0
1
1
0
0
0

0
0
0
2
2
0

0
2
2
2
2
0

0
2
2
0
0
0

0
0
0
0
0
0

2 objetos 4 conectados

0
1
1
0
0
0

0
1
1
0
0
0

0
0
0
1
1
0

0
1
1
1
1
0

0
1
1
0
0
0

0
0
0
0
0
0

1 objeto 8 conectados

Conectividad (V)
Permetro y objetos n conectados
I=
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

Misma salida
III=bwperim(II,4);
IV=bwperim(II,8);

1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0

0
1
1
0
0
0
0
0

0
1
1
0
0
0
1
0

0
0
0
1
1
1
1
0

0
0
0
0
0
0
0
0

Conectividad (VI)
>> bwlabel(III,4)
1 1 1 1
1 0 1 0
1 0 1 0
1 0 1 0
1 0 1 0
1 0 1 0
1 0 1 0
1 1 1 0

Permetro 4 conectado:
Combinacin de
4 objetos 4 conectados
Permetro 8 conectado:
Un objeto 8 conectados

0
2
2
0
0
0
0
0

0
2
2
0
0
0
3
0

>> bwlabel(III,8)
1 1 1 1
1 0 1 0
1 0 1 0
1 0 1 0
1 0 1 0
1 0 1 0
1 0 1 0
1 1 1 0

0
0
0
3
3
3
3
0
0
1
1
0
0
0
0
0

0
0
0
0
0
0
0
4
0
1
1
0
0
0
1
0

0
0
0
1
1
1
1
0

0
0
0
0
0
0
0
1

Funcin bwmorph
BW2 = bwmorph(BW1,Operacin,Nmero de veces que se repite)

Operaciones descritas previamente


'dilate
'erode
'open
'close
'skel
Otras operaciones
bothat: Transformacin bottom hat
tophat: Transformacin top hat
clean: Elimina pxeles aislados
fill: Rellena pxeles interiores aislados

Transformacin top hat


Sustrae a la imagen la apertura de la imagen
Aplicacin: Extrae detalles brillantes en presencia de sombras
>> II=im2bw(I);
>> III=bwmorph(II,'tophat');

Equivale a
>> se=strel('square',3);
>> IV=imsubtract(II,imopen(II,se));

Transformacin bottom hat


Sustrae a la imagen la cerradura de la imagen
Aplicacin: Detalles oscuros en zonas iluminadas
>> II=im2bw(I);
>> III=bwmorph(II,bothat');

Equivale a
>> se=strel('square',3);
>> IV=imsubtract(II,imclose(II,se));

Funcin bwmorph(fill)
Relleno de pxeles interiores aislados
Aplicacin: Clasificar formas
I=
1
1
1

1
0
1

1
1
1

II =
1
1
1

>> II=bwmorph(I,'fill');

1
1
1
1
1
0
0
0

1
1
1
1
1
0
0
0

1
1
1
1
1
0
0
0

1
0
0
0
0
0
0
0

0
1
0
0
0
0
0
0

0
1
0
1
0
0
0
0

0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
1

II =
1
1
1
1
1
0
0
0

1
1
1
1
1
0
0
0

1
1
1
1
1
0
0
0

1
0
0
0
0
0
0
0

0
2
0
0
0
0
0
0

0
2
0
3
0
0
0
0

0
0
3
3
0
0
0
0

0
0
0
0
0
0
0
4

II =
1
1
1
1
1
0
0
0

1
1
1

>> II=bwlabel(I,4)
>> III=find(II==4)
>> II(III)=6

Funcin find: Devuelve puntero a valor

I=

1
1
1

1
1
1
1
1
0
0
0

1
1
1
1
1
0
0
0

1
0
0
0
0
0
0
0

0
2
0
0
0
0
0
0

0
2
0
3
0
0
0
0

0
0
3
3
0
0
0
0

0
0
0
0
0
0
0
6

Identificar objetos y relleno

%Clasifica zonas 4 conectadas


>>III=bwlabel(II,4)
%Cantidad de zonas
>> IV=max(max(III))
IV = 6
%ndices a valores zona 4
>>V=find(III==4);
% Los lleno de ceros (negro)
>> II(V)=0;

Funcin bwmorph(clean)
Elimina pxeles interiores aislados
Aplicacin: Limpiar imagen
A=
0
0
0

0
1
0

0
0
0

>> B=bwmorph(A,clean');

B=
0
0
0

0
0
0

0
0
0

Funcin bwmorph(remove)
A=
1
1
1
1
1

Elimina pxeles interiores de una vecindad


1
1
1
1
1

1
1
1
1
1

1
1
1
1
1

Aplicacin: Obtener permetro

1
1
1
1
1

>> B=bwmorph(A,remove');

Imagen original

Aplicacin remove

1
1
1
1
1

1
0
0
0
1

1
0
0
0
1

B=
1
0
0
0
1

1
1
1
1
1

Funcin bwmorph('thicken)
Adiciona pxeles a un permetro hasta mantener una vecindad
Aplicacin: Agrandar objetos
A=
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0

0
0
1
1
1
1
1
0
0

0
0
1
0
0
0
1
0
0

0
0
1
0
0
0
1
0
0

0
0
1
0
0
0
1
0
0

0
0
1
1
1
1
1
0
0

0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0

B=
0
0
0
0
0
0
0
0
0

0
0
1
1
1
1
1
0
0

0
1
1
1
1
1
1
1
0

>> B=bwmorph(A,thicken );

0
1
1
1
1
1
1
1
0

0
1
1
1
0
1
1
1
0

0
1
1
1
1
1
1
1
0

0
1
1
1
1
1
1
1
0

0
0
1
1
1
1
1
0
0

0
0
0
0
0
0
0
0
0

Ampliacin de objeto
Mantiene 8 conectados la frontera entre objetos
Imagen original

Imagen engrosada

Esqueleto de un conjunto
Esqueleto: Se obtiene a partir de sucesivas erosiones de la
imagen hasta que la misma no se convierta en un conjunto vaco
(las sucesivas erosiones se realizan hasta que los pxeles
sucesivos no se separen)

Funcin Matlab para la obtencin del esqueleto


>> bw1=bwmorph(bw, 'skel', Inf);

Esqueleto de un conjunto (II)


Reduce pxeles del contorno sin separar el objeto
>> B=bwmorph(A,'skel',Inf)
A=
0
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
1
0

0
0
1
1
1
1
1
0
0

0
0
1
1
1
1
1
0
0

0
0
1
1
1
1
1
0
0

0
0
1
1
1
1
1
0
0

0
0
1
1
1
1
1
0
0

0
1
0
0
0
0
0
1
0

0
0
0
0
0
0
0
0
0

B=
0
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
1
0

0
0
1
0
0
0
1
0
0

0
0
0
1
1
1
0
0
0

0
0
0
0
1
0
0
0
0

0
0
0
1
1
1
0
0
0

0
0
1
0
0
0
1
0
0

0
1
0
0
0
0
0
1
0

0
0
0
0
0
0
0
0
0

Esqueleto de un conjunto (III)

Figura original

Esqueleto

Reconocimiento de
caracteres escritos
Ejecutar un algoritmo que lea el cdigo postal en un sobre
escrito a mano, tome como referencia los siguientes pasos:
a.- Binarizar la imagen
b.- Erosionar para separar las posibles uniones entre nmeros
c.- Dilatar para recomponer nmeros que tengas discontinuidades
d.- Calcular el esqueleto de cada componente
e.- Identificar con un sistema de inteligencia artificial
(redes neuronales o sistemas neuroborrosos)

Operaciones en escala de grises


Regin mxima
Se define como aquel conjunto de pxeles con conectividad n en una imagen
que poseen un nivel de intensidad t, los pxeles que le rodean poseen
un nivel de intensidad inferior a t
I2 =
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 128 128 128 128 128 51 51 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 128 128 128 128 128 128 128 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 150 192 192 150 150 128 128 128 51 51
128 128 128 150 192 255 192 150 128 128 128 51 51
128 128 128 150 192 192 192 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 128 128 128 128 128 128 128 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 51 128 128 128 128 128 128 51 51 51 51 51
51 51 51 51 128 128 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51

Operaciones en escala de grises (II)


Regin mxima
Funcin: BW = imregionalmax(I,CONN);
Aplicacin: Max=imregionalmax(I2)
Max =
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
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
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
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
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
1
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
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
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
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

Operaciones en escala de grises (III)


Regin mnima
Se define como aquel conjunto de pxeles con conectividad n en una imagen
que poseen un nivel de intensidad t, los pxeles que le rodean poseen
un nivel de intensidad superior a t
I2 =
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 128 128 128 128 128 51 51 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 128 128 128 128 128 128 128 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 150 192 192 150 150 128 128 128 51 51
128 128 128 150 192 255 192 150 128 128 128 51 51
128 128 128 150 192 192 192 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 128 128 128 128 128 128 128 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 51 128 128 128 128 128 128 51 51 51 51 51
51 51 51 51 128 128 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51

Operaciones en escala de grises (IV)


Regin mnima
Funcin: BW = imregionalmin(I,CONN);
Aplicacin: Min=imregionalmin(I2)
Min =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1

1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1

1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1

1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1

1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1

1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Operaciones en escala de grises (V)


Regin mxima con umbral
Pxeles con valores de intensidad mximo en un intervalo

I2 =
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

Intensidad = [I_min; I_max]


Regin mxima: [I_max-nmin; I_max]
Ejemplo: nmin = 63 == [192; 255]
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 128 128 128 128 128 51 51 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 128 128 128 128 128 128 128 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 150 192 192 150 150 128 128 128 51 51
128 128 128 150 192 255 192 150 128 128 128 51 51
128 128 128 150 192 192 192 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 128 128 128 128 128 128 128 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 51 128 128 128 128 128 128 51 51 51 51 51
51 51 51 51 128 128 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51

Operaciones en escala de grises (VI)


Regin mxima con umbral
Funcin: BW = imextendedmax(I,H,CONN)
Aplicacin: I22 = imextendedmax(I2,63)
I22 =
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
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
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
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
1
1
1
0
0
0
0
0
0
0

0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0

0
0
0
0
0
0
0
1
1
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0

Regin mnima con umbral: BW = IMEXTENDEDMIN(I,H,CONN)

Operaciones en escala
de grises (VII)
Regin mnima con umbral
Pxeles con valores de intensidad mnimo en un intervalo

I2 =
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

Intensidad = [I_min; I_max]


Regin mnima: [I_min; I_min+nmax]
Ejemplo: nmax = 77 == [51; 128]
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 128 128 128 128 128 51 51 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 128 128 128 128 128 128 128 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 150 192 192 150 150 128 128 128 51 51
128 128 128 150 192 255 192 150 128 128 128 51 51
128 128 128 150 192 192 192 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 128 128 128 128 128 128 128 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 51 128 128 128 128 128 128 51 51 51 51 51
51 51 51 51 128 128 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51

Operaciones en escala
de grises (VIII)
Regin mnima con umbral
Funcin: BW = imextendedmin(I,H,CONN)
Aplicacin: I22 = imextendedmin(I2,77)
I22 =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Operaciones en escala de grises (X)


Suprimir regin mxima
Reduce a la intensidad mnima determinado umbral

I2 =
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

Intensidad = [I_min; I_max]


Regin mxima: [I_max-nmin; I_max]
Ejemplo: nmin = 105 == [150; 255]=150
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 128 128 128 128 128 51 51 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 128 128 128 128 128 128 128 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 150 192 192 150 150 128 128 128 51 51
128 128 128 150 192 255 192 150 128 128 128 51 51
128 128 128 150 192 192 192 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 128 128 128 128 128 128 128 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 51 128 128 128 128 128 128 51 51 51 51 51
51 51 51 51 128 128 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51

Operaciones en escala de grises (XI)


Suprimir regin mxima
Funcin: I2 = imhmax(I,H,CONN)
Aplicacin: I22=imhmax(I2, 105)
I22 =
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 128 128 128 128 128 51 51 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 128 128 128 128 128 128 128 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 128 128 128 128 128 128 128 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 51 128 128 128 128 128 128 51 51 51 51 51
51 51 51 51 128 128 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51

Altera la imagen original!

Operaciones en escala
de grises (XII)
Suprimir regin mnima
Reduce a la intensidad mnima determinado umbral

I2 =
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

Intensidad = [I_min; I_max]


Regin mxima: [I_min; I_min+nmax]
Ejemplo: nmin = 77 == [51; 128]=128
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51

51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 128 128 128 128 128 51 51 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 128 128 128 128 128 128 128 128 128 51 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 150 192 192 150 150 128 128 128 51 51
128 128 128 150 192 255 192 150 128 128 128 51 51
128 128 128 150 192 192 192 150 128 128 128 51 51
128 128 128 150 150 150 150 150 128 128 51 51 51
128 128 128 128 128 128 128 128 128 128 51 51 51
51 128 128 128 128 128 128 128 128 51 51 51 51
51 51 128 128 128 128 128 128 51 51 51 51 51
51 51 51 51 128 128 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51

Operaciones en escala
de grises (XIII)
Suprimir regin mnima
Funcin: I2 = imhmin(I,H,CONN)
Aplicacin: I22=imhmin(I2, 77)
I22 =
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
150
150
150
150
150
128
128
128
128
128
128

128
128
128
128
128
150
192
192
192
150
128
128
128
128
128
128

128
128
128
128
128
150
192
255
192
150
128
128
128
128
128
128

128
128
128
128
128
150
150
192
192
150
128
128
128
128
128
128

128
128
128
128
128
150
150
150
150
150
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128

Operaciones en escala
de grises (XIV)
>> max_val=max(max(II(:,:)))
254
>> min_val=min(min(II(:,:)))
0
>> III=imhmax(II, 127);
>> max_val=max(max(III(:,:)))
127

Operaciones en escala
de grises (XV)
>> max_val=max(max(II(:,:)))
254
>> min_val=min(min(II(:,:)))
0
>> IV=imhmin(II, 128);
>> min_val=min(min(IV(:,:)))
128

You might also like