Contenido principal

ordfilt2

Filtrado de orden estadístico 2D

Descripción

B = ordfilt2(A,order,domain) sustituye cada elemento de A por el order-ésimo elemento en el conjunto ordenado de vecinos especificado por los elementos distintos de cero en domain.

ejemplo

B = ordfilt2(A,order,domain,S) filtra A, donde ordfilt2 utiliza los valores de S correspondientes a los valores distintos de cero de domain como desplazamientos aditivos. Puede utilizar esta sintaxis para implementar operaciones morfológicas en escala de grises, incluyendo la dilatación y la erosión en escala de grises.

B = ordfilt2(___,padopt) filtra A, donde padopt especifica la forma en la que ordfilt2 rellena los límites de la matriz.

Ejemplos

contraer todo

Lea una imagen en el área de trabajo y muéstrela.

A = imread('snowflakes.png');
figure
imshow(A)

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

Filtre la imagen y muestre el resultado.

B = ordfilt2(A,25,true(5));
figure
imshow(B)

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

Argumentos de entrada

contraer todo

Datos que se desea filtrar, especificados como matriz lógica 2D o matriz numérica 2D.

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

Elemento para reemplazar el píxel de destino, especificado como un entero escalar real.

Tipos de datos: double

Entorno, especificado como una matriz numérica o lógica que contiene valores 1 y 0. domain es equivalente al elemento estructurante utilizado para las operaciones de imagen binaria. Los elementos con valor 1 definen el entorno para la operación de filtrado. La tabla ofrece ejemplos de algunos filtros comunes.

Tipo de operación de filtradoCódigo de muestraEntornoDatos de la imagen de muestra, indicando el elemento seleccionado
Filtro de medianaB = ordfilt2(A,5,ones(3,3))

3-by-3 matrix of ones

3-by-3 matrix of numbers. The element with the fifth highest value in the neighborhood is circled.

Filtro mínimoB = ordfilt2(A,1,ones(3,3))

3-by-3 matrix of ones

3-by-3 matrix of numbers. The element with the lowest value in the neighborhood is circled.

Filtro máximoB = ordfilt2(A,9,ones(3,3))

3-by-3 matrix of ones

3-by-3 matrix of numbers. The element with the highest value in the neighborhood is circled.

Un mínimo de vecinos al norte, este, sur y oesteB = ordfilt2(A,1,[0 1 0; 1 0 1; 0 1 0])

3-by-3 neighborhood in which the north, south, east, and west pixels are true (1) and the center and corner pixels are false (0)

3-by-3 matrix of numbers. The element with the lowest value in the specified neighborhood is circled. Elements excluded from the neighborhood are grayed out.

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

Desplazamientos aditivos, especificados como matriz numérica del mismo tamaño que domain.

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

Opción de relleno, especificada como uno de los siguientes valores:

OpciónDescripciónEjemplo
"zeros"Rellenar los límites del arreglo con el valor 0.

[314159265][0000000000000000314000015900002650000000000000000]

"symmetric"

Rellenar el arreglo con reflejos de espejo de sí mismo.

[314159265][5115995133144113314415115995622655662265565115995]

Tipos de datos: char | string

Argumentos de salida

contraer todo

Datos filtrados, devueltos como una matriz numérica 2D o una matriz lógica 2D del mismo tipo de datos que los datos de entrada A.

Sugerencias

  • Cuando se trabaja con matrices de dominios grandes que no contienen ningún elemento de valor cero, ordfilt2 puede lograr un mayor rendimiento si A está en un formato de datos enteros (uint8, int8, uint16, int16). La ganancia de velocidad es mayor para uint8 e int8 que para los tipos de datos de 16 bits. Para los formatos de datos de 8 bits, la matriz de dominios debe contener siete o más filas. Para los formatos de datos de 16 bits, la matriz de dominios debe contener tres o más filas y 520 o más elementos.

Referencias

[1] Haralick, Robert M., and Linda G. Shapiro, Computer and Robot Vision, Volume I, Addison-Wesley, 1992.

[2] Huang, T. S., G. J. Yang, and G. Y. Tang. "A fast two-dimensional median filtering algorithm.", IEEE transactions on Acoustics, Speech and Signal Processing, Vol ASSP 27, No. 1, February 1979.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo