Contenido principal

Elementos estructurantes

Una parte esencial de las operaciones morfológicas de dilatación y erosión es el elemento estructurante utilizado para sondear la imagen de entrada. Un elemento estructurante es una matriz que define el entorno utilizado para procesar cada píxel de la imagen. El píxel central del elemento estructurante, llamado origen, identifica el píxel de la imagen que se está procesando.

Normalmente se elige un elemento estructurante del mismo tamaño y forma que los objetos que se desea procesar en la imagen de entrada. Por ejemplo, para encontrar líneas en una imagen, cree un elemento estructurante lineal.

Hay dos tipos de elementos estructurantes: planos y no planos. Un elemento estructurante plano es un entorno que asume valores binarios, que puede ser 2D o multidimensional, en el que los píxeles true (valor 1) se incluyen en la operación morfológica, mientras que los píxeles false (valor 0) no se incluyen. Utilice la función strel para crear un elemento estructurante plano. Puede utilizar elementos estructurantes planos con ambas, imágenes binarias e imágenes en escala de grises. La siguiente figura ilustra un elemento estructurante plano.

A 3-by-3 structuring element includes true-valued pixels in the morphological operation and excludes false-valued pixels

Puede utilizar elementos estructurantes no planos únicamente con imágenes en escala de grises. Un elemento estructurante no plano incluye un desplazamiento aditivo para cada píxel del entorno. Los píxeles del entorno con un valor real finito se utilizan en la operación morfológica. Los píxeles del entorno con el valor -Inf no se utilizan en la operación. Utilice la función offsetstrel para crear un elemento estructurante no plano.

Pixels in the 3-by-3 neighborhood of a nonflat structuring element have different additive offsets, such as 3.0, 4.0, and -Inf.

Determinar el origen de un elemento estructurante

Las funciones morfológicas utilizan este código para obtener las coordenadas del origen de elementos estructurantes de cualquier tamaño y dimensión:

origin = floor((size(nhood)+1)/2)

donde nhood es el entorno que define el elemento estructurante. Para ver el entorno de un elemento estructurante plano, visualice la propiedad Neighborhood del objeto strel. Para ver el entorno de un elemento estructurante no plano, visualice la propiedad Offset del objeto offsetstrel.

Por ejemplo, lo siguiente ilustra el origen de un elemento estructurante plano con forma de diamante.

The origin of a flat diamond-shaped structuring element is the center pixel.

Descomposición del elemento estructurante

Para mejorar el rendimiento, las funciones strel y offsetstrel pueden dividir los elementos estructurantes en fragmentos más pequeños, una técnica conocida como descomposición de elementos estructurantes.

Por ejemplo, la dilatación por un elemento estructurante cuadrado de 11 por 11 puede lograrse dilatando primero un elemento estructurante de 1 por 11 y, después, un elemento estructurante de 11 por 1. Esto resulta en una mejora teórica de la velocidad de 5,5 veces. Sin embargo, en la práctica, la mejora real de la velocidad es algo menor.

Las descomposiciones de elementos estructurantes que utilizan las formas "disk" y "ball" son aproximaciones. Todas las demás descomposiciones son exactas. La descomposición no se utiliza con un elemento estructurante arbitrario a menos que sea un elemento estructurante plano y tenga una matriz de entorno donde todos los valores son 1.

Para ver la secuencia de elementos estructurantes utilizados en una descomposición, utilice el método decompose. Tanto los objetos strel como los objetos offsetstrel admiten métodos de descomposición. El método decompose devuelve un arreglo de los elementos estructurantes que forman la descomposición. Por ejemplo, aquí están los elementos estructurantes creados en la descomposición de un elemento estructurante con forma de diamante.

SE = strel("diamond",4)
SE = 

strel is a diamond shaped structuring element with properties:

      Neighborhood: [9x9 logical]
    Dimensionality: 2

Llame al método de descomposición. El método devuelve un arreglo de elementos estructurantes.

decompose(SE)
ans = 

  3x1 strel array with properties:

    Neighborhood
    Dimensionality

Consulte también

|

Temas

Sitios web externos