Está en la página 1de 19

Operaciones morfológicas

Son una serie de operación pensadas (originalmente) para actuar sobre imágenes
binarias, y actuar directamente sobre sus formas, afectándolas de forma
selectiva a través de las particularidades del argumento de la operación, conocido
como elemento estructural. El fundamento matemático de estas operaciones
reside en la teoría de conjunto, donde se definen las siguientes “primitivas”:
Unión: Los elementos que pertenecen a al menos un conjunto: A ó B

Intersección: Los elementos que pertenecen a ambos conjuntos al mismo


tiempo: A y B

Complemento: Se nombra A’ y se refiere a los elementos del conjunto universal


que no pertenecen al conjunto A
Recordando el significado de los símbolos:
∈: Pertenece ∉: No pertenece ⊂: Contenido en
⋀: Conjunción (AND) ⋁: Disyunción (OR) /: Tal que

De forma adicional, se proponen las siguientes operaciones adicionales:


La traslación de A por z La reflexión de B

En forma gráfica En forma gráfica

Las operaciones morfológicas básicas son:


Dilatación
Es una operación que de forma intuitiva adhiere pixeles a un objeto, haciéndolo
crecer de cierta manera. Matemáticamente hablando, se define como:

La expresión se lee como: La imagen A dilatada por el elemento estructural B.


Para implementarse de forma intuitiva, el elemento estructural B “barrerá” la
imagen original A, similar a un filtro lineal con máscara, y si la intersección del
elemento estructural con la imagen A es distinta de “conjunto vació”, en la
imagen de salida el Kernel de la máscara (en su respectiva posición) se prenderá.
Ejemplo: Sea la imagen de entrada A. Dilatarla con el elemento estructural B
Erosión
Es una operación que de forma intuitiva desprende pixeles a un objeto,
haciéndolo decrecer de cierta manera. Matemáticamente hablando, se define
como:

La expresión se lee como: La imagen A erosionada por el elemento estructural B.


Para implementarse de forma intuitiva, el elemento estructural B “barrerá” la
imagen original A, similar a un filtro lineal con máscara, y si el total de los
pixeles prendidos de B se encuentran completamente contenidos en los pixeles
prendidos de la imagen A, el Kernel de la máscara (en su respectiva posición) se
prendera en la imagen de salida
Ejemplo: Sea la imagen de entrada A. Erosionarla con el elemento estructural B
A partir de las operaciones morfológicas básicas, se definen las siguientes
operaciones morfológicas compuestas:
Apertura
Matemáticamente se define de la siguiente forma:
𝐴 ⊚ 𝐵 = (𝐴 ⊖ 𝐵) ⊕ 𝐵
Se lee como la imagen A abierta por el elemento estructural B. Se calcula como
una erosión seguida de una dilatación.
Cierre
Matemáticamente se define de la siguiente forma:
𝐴⨀𝐵 = (𝐴 ⊕ 𝐵) ⊖ 𝐵
Se lee como la imagen A cerrada por el elemento estructural B. Se calcula como
una dilatación seguida de una erosión.
Ejemplos: Sean las imágenes originales mostradas, con el elemento estructural
Listado de operaciones morfológicas avanzadas
• Clean: Remueve pixeles aislados
• Fill Holes: Rellena figura que tengan huecos
• Conected Components: Aisla objetos dentro de una imagen
• Remove: quita los pixeles interiores de un objeto, dejando solo el contorno
• Shrink: Empequeñece objetos
• Spur: Remueve pixeles espurios
• Thin: Adelgaza objetos
• Skeleton: Adelgaza hasta el punto de dejar solo líneas de un pixel
• Hbreak: remueve pixeles conectados en forma de H
• Endpoints: Encuentra puntos finales de un esqueleto
• Bridge: Desconecta puentes entre ramas de un esqueleto
• Branchpoints: Detecta los puntos de conexión entre ramas de un esqueleto

… ¡y un muy largo etcétera!


Descripción de un par de operaciones morfológicas avanzadas
Fill Holes
Es un algoritmo iterativo en el cual se parte de una solución inicial, la cual
consiste en un píxel que forme parte de la región a rellenar, la cual llamaremos
𝑥0 . La ecuación iterativa que representa este algoritmo es:
𝑥𝑘 = (𝑥𝑘−1 ⊕ 𝐵) ∩ 𝐴𝐶
Considerando que el elemento estructural es:

El algoritmo finalizará cuando 𝑥𝑘 = 𝑥𝑘−1


Conected Components
Es un algoritmo iterativo en el cual se parte de una solución inicial, la cual
consiste en un píxel al interior del objeto que deseamos conservar la cual
llamaremos 𝑥0 . La ecuación iterativa que representa este algoritmo es:
𝑥𝑘 = (𝑥𝑘−1 ⊕ 𝐵) ∩ 𝐴
Considerando que el elemento estructural es:

El algoritmo finalizará cuando 𝑥𝑘 = 𝑥𝑘−1


Ejemplo de Fill Holes

Iteración 1
Iteración 2

Iteración 3
Iteración 4

Iteración 5
Resultado Final en la 5ta iteración
Ejemplo de Conected Components

Iteración 1
Iteración 2

Iteración 3
Iteración 4

Iteración 5
Iteración 6

Final en la 6ta iteración


Funciones útiles de Matlab
Imdilate: aplica la dilatación morfológica
Imerode: aplica la erosión morfológica
Imopen: aplica la apertura morfológica
Imclose: aplica el cierre morfológico
Bwmorph: aplica distintas versiones de operaciones morfológicas
Imfill: Aplica relleno de agujeros
Strel: Ayuda a generar elementos estructurales

También podría gustarte