Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

strel

Elemento morfológico estructurante

Descripción

Un objeto strel representa un elemento estructurante morfológicamente plano que es parte esencial de las operaciones morfológicas de dilatación y erosión.

Un elemento estructurante plano es un entorno que asume valores binarios, que puede ser 2D o multidimensional y en el que los píxeles con el valor true se incluyen en el cómputo morfológico, en tanto que los píxeles denominados con el valor false, no. El píxel central del elemento estructurante, llamado origen, identifica el píxel de la imagen que se está procesando. Utilice la función strel (descrita abajo) 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.

Para crear un elemento estructurante no plano, utilice offsetstrel.

Creación

Descripción

SE = strel(nhood) crea un elemento estructurante plano con el entorno nhood especificado.

También se puede utilizar la sintaxis SE = strel('arbitrary',nhood) para crear un elemento estructurante plano con un entorno especificado.

SE = strel('diamond',r) crea un elemento estructurante con forma de diamante, en el que r especifica la distancia desde el origen del elemento estructurante hasta los puntos del diamante.

ejemplo

SE = strel('disk',r,n) crea un elemento estructurante con forma de disco, en el que r especifica el radio y n especifica el número de elementos estructurantes de línea utilizados para aproximar el disco. Las operaciones morfológicas que utilizan aproximaciones de discos funcionan mucho más rápido cuando el elemento estructurante utiliza aproximaciones.

SE = strel('octagon',r) crea un elemento estructurante octogonal, en el que r especifica la distancia desde el origen del elemento estructurante hasta los lados del octógono, medida a lo largo de los ejes horizontal y vertical. r debe ser un múltiplo no negativo de 3.

ejemplo

SE = strel('line',len,deg) crea un elemento estructurante lineal que es simétrico con respecto al centro del entorno, con longitud aproximada len y ángulo deg.

SE = strel('rectangle',[m n]) crea un elemento estructurante rectangular de tamaño [m n].

ejemplo

SE = strel('square',w) crea un elemento estructurante cuadrado cuyo ancho es w píxeles.

SE = strel('cube',w) crea un elemento estructurante 3D cúbico cuyo ancho es w píxeles.

SE = strel('cuboid',[m n p]) crea un elemento estructurante 3D cuboidal de tamaño [m n p].

ejemplo

SE = strel('sphere',r) crea un elemento estructurante 3D esférico cuyo radio es r píxeles.

Compatibilidad

Las siguientes sintaxis siguen funcionando, pero offsetstrel es la forma preferida de crear los siguientes elementos estructurantes no planos:

  • SE = strel('arbitrary',nhood,h)

  • SE = strel('ball',r,h,n)

Las siguientes sintaxis siguen funcionando, pero no se recomienda su uso:

  • SE = strel('pair',offset)

  • SE = strel('periodicline',p,v)

Argumentos de entrada

expandir todo

Entorno, especificado como arreglo numérico de cualquier dimensión. Todos los píxeles distintos de cero de nhood pertenecen al entorno para la operación morfológica. El centro (u origen) de nhood es su elemento central, dado por floor((size(nhood) + 1)/2).

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Radio del elemento estructurante en el plano x-y, especificado como entero positivo.

  • En el caso de la forma de disco, r es la distancia desde el origen hasta el borde del disco.

  • En el caso de la forma de diamante, r es la distancia desde el origen del elemento estructurante hasta las puntas del diamante.

  • En el caso de la forma octogonal, r es la distancia desde el origen del elemento estructurante hasta los lados del octógono, medida a lo largo de los ejes horizontal y vertical. r debe ser un múltiplo de 3.

Tipos de datos: double

Número de elementos estructurantes de línea periódicos utilizados para aproximar la forma, especificado con los valores 0, 4, 6 o 8. Cuando n es mayor que 0, el elemento estructurante con forma de disco se aproxima por una secuencia de n elementos estructurantes de línea periódicos. Cuando n es 0, strel no aproxima, y los miembros del elemento estructurante abarcan todos los píxeles cuyos centros se encuentren a una distancia no mayor que r del origen. Las operaciones morfológicas que utilizan aproximaciones de discos se ejecutan mucho más rápido cuando el elemento estructurante utiliza aproximaciones (n > 0). A veces, es necesario que strel utilice dos elementos estructurantes de línea adicionales en la aproximación. En ese caso, el número de elementos estructurantes descompuestos es n+2.

Valor de nComportamiento
n > 0strel utiliza una secuencia de n (o a veces n+2) elementos estructurantes de línea para aproximar la forma.
n = 0strel no utiliza ninguna aproximación. Los miembros de los elementos estructurantes abarcan todos los píxeles cuyos centros se encuentran a una distancia no mayor que r del origen y los valores correspondientes a la altura están determinados por la fórmula del elipsoide especificado por r y h.

Tipos de datos: double

Longitud del elemento estructurante lineal, especificado como número positivo. len es aproximadamente la distancia entre los centros de los miembros del elemento estructurante en los extremos opuestos de la línea.

Tipos de datos: double

Ángulo del elemento estructurante lineal, especificado como escalar numérico. El ángulo se mide en sentido contrario a las agujas del reloj respecto del eje horizontal.

Tipos de datos: double

Tamaño del elemento estructurante rectangular, especificado como vector de 2 elementos enteros positivos. El elemento estructurante tiene m filas y n columnas.

Tipos de datos: double

Ancho del elemento estructurante cuadrado o cúbico, especificado como entero positivo.

Tipos de datos: double

Tamaño del elemento estructurante rectangular, especificado como vector de 3 elementos enteros positivos. El elemento estructurante tiene m filas, n columnas y p planos.

Tipos de datos: double

Propiedades

expandir todo

Entorno del elemento estructurante, especificado como arreglo lógico.

Tipos de datos: logical

Dimensiones del elemento estructurante, especificadas como escalar no negativo.

Tipos de datos: double

Funciones del objeto

imdilateDilate image
imerodeErode image
imcloseCerrar morfológicamente imágenes
imopenApertura morfológica de imágenes
imbothatBottom-hat filtering
imtophatTop-hat filtering
bwhitmissBinary hit-miss operation
decomposeReturn sequence of decomposed structuring elements
reflectReflect structuring element
translateTranslate structuring element

Ejemplos

contraer todo

Cree un elemento estructurante cuadrado de 11 por 11.

SE = strel('square', 11)
SE = 
strel is a square shaped structuring element with properties:

      Neighborhood: [11x11 logical]
    Dimensionality: 2

Cree un elemento estructurante con forma lineal con una longitud de 10 y un ángulo de 45 grados.

SE = strel('line', 10, 45)
SE = 
strel is a line shaped structuring element with properties:

      Neighborhood: [7x7 logical]
    Dimensionality: 2

Visualice el elemento estructurante.

SE.Neighborhood
ans = 7x7 logical array

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

Cree un elemento estructurante con forma de disco con un radio de 15.

SE3 = strel('disk', 15)
SE3 = 
strel is a disk shaped structuring element with properties:

      Neighborhood: [29x29 logical]
    Dimensionality: 2

Muestre el elemento estructurante con forma de disco.

figure
imshow(SE3.Neighborhood)

Figure contains an axes object. The axes object contains an object of type image.

Cree un elemento estructurante 3D en forma de esfera con un radio de 15.

SE = strel('sphere', 15)
SE = 
strel is a sphere shaped structuring element with properties:

      Neighborhood: [31x31x31 logical]
    Dimensionality: 3

Muestre el elemento estructurante.

figure
isosurface(SE.Neighborhood)

Figure contains an axes object. The axes object contains an object of type patch.

Sugerencias

  • Los elementos estructurantes que no usan aproximaciones (n = 0) no son adecuados para calcular granulometrías.

Algoritmos

Si se usa cualquier forma excepto 'arbitrary', los elementos estructurantes se construyen utilizando una familia de técnicas conocidas colectivamente como descomposición en elementos estructurantes. El principio es que la dilatación por medio de elementos estructurantes grandes se puede calcular más rápidamente que la dilatación con una secuencia de elementos estructurantes más pequeños. Por ejemplo, la dilatación por un elemento estructurante 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 del rendimiento de 5,5 veces. Sin embargo, en la práctica, la mejora del rendimiento es algo menor. La descomposición en elementos estructurantes que utiliza la forma 'disk' es una aproximación. Todas las demás descomposiciones son exactas.

Referencias

[1] van den Boomgard, R, and R. van Balen, "Methods for Fast Morphological Image Transforms Using Bitmapped Images," Computer Vision, Graphics, and Image Processing: Graphical Models and Image Processing, Vol. 54, Number 3, pp. 252–254, May 1992.

[2] Adams, R., "Radial Decomposition of Discs and Spheres," Computer Vision, Graphics, and Image Processing: Graphical Models and Image Processing, Vol. 55, Number 5, pp. 325–332, September 1993.

[3] Jones, R., and P. Soille, "Periodic lines: Definition, cascades, and application to granulometrie," Pattern Recognition Letters, Vol. 17, pp. 1057–1063, 1996.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo

El comportamiento cambió en R2017b

Consulte también