Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

strel

Elemento estructurante morfológico

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.

Disk shaped structuring element with a radius of 3 pixels

Para crear un elemento estructurante no plano, utilice offsetstrel.

Creación

Descripción

Forma del entorno arbitrario

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

Formas geométricas 2D del entorno

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) crea un elemento estructurante en forma de disco, donde r especifica el radio.

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 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.

Formas geométricas 3D del entorno

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 cuyo tamaño es m por n por p píxeles.

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), donde h es una matriz del mismo tamaño que nhood que contiene los valores de altura asociados a cada elemento distinto de cero de nhood.

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

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, 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.

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

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. Las operaciones morfológicas que utilizan aproximaciones de discos se ejecutan mucho más rápido cuando el elemento estructurante utiliza aproximaciones (n > 0).

Valor de nComportamiento
n > 0strel utiliza una secuencia de n elementos estructurantes de línea periódicos para aproximar la forma. A veces, es necesario que strel utilice dos elementos estructurantes de línea adicionales en la aproximación, en cuyo caso, el número real de elementos estructurantes descompuestos es n+2.
n = 0strel no utiliza ninguna aproximación. Los miembros del elemento estructurante abarcan todos los píxeles cuyos centros se encuentren a una distancia no mayor que r del origen.

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

imdilateDilatar una imagen
imerodeErosionar una imagen
imcloseCerrar morfológicamente imágenes
imopenApertura morfológica de imágenes
imbothatFiltrado con bottom-hat
imtophatFiltrado top-hat
bwhitmissOperación binaria acierto-fallo
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

Para todas las demás formas geométricas, 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

Consulte también