Main Content

imboxfilt

Filtrado de cuadro 2D de imágenes

Descripción

ejemplo

B = imboxfilt(A) filtra la imagen A con un filtro de cuadro 2D de 3 por 3. Un filtro de cuadro también se llama filtro medio.

ejemplo

B = imboxfilt(A,filterSize) filtra la imagen A con un filtro de cuadro 2D con tamaño especificado por filterSize.

ejemplo

B = imboxfilt(___,Name,Value) utiliza argumentos de par nombre-valor para controlar aspectos del filtrado.

Ejemplos

contraer todo

Lea una imagen en el espacio de trabajo.

A = imread('cameraman.tif');

Realice el filtrado medio utilizando un filtro de 11 por 11.

localMean = imboxfilt(A,11);

Muestre la imagen original y la imagen filtrada, una al lado de la otra.

imshowpair(A,localMean,'montage')

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

Lea una imagen en el espacio de trabajo.

A = imread('cameraman.tif');

Cambie el tipo de datos de la imagen a double para evitar el desbordamiento de enteros.

A = double(A);

Filtre la imagen, calculando sumas de áreas locales, utilizando un filtro de cuadro de 15 por 15. Para calcular sumas de áreas locales, en lugar de la media, establezca el parámetro NormalizationFactor en 1.

localSums = imboxfilt(A, 15, 'NormalizationFactor',1);

Muestre la imagen original y la imagen filtrada, una al lado de la otra.

imshowpair(A,localSums,'montage')

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

Argumentos de entrada

contraer todo

Imagen que se desea filtrar, especificada como arreglo numérico de cualquier dimensión. Si la imagen de entrada tiene más de dos dimensiones (ndims(I)>2), como en el caso de una imagen RGB, imboxfilt realiza el filtrado de cuadro de todos los planos 2D a lo largo de las dimensiones superiores.

Si A contiene Infs o NaNs, el comportamiento de imboxfilt es indefinido. Esto puede suceder cuando se utiliza el filtrado integral basado en imágenes. Para restringir la propagación de Infs y NaNs en la salida, considere utilizar imfilter en su lugar.

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

Tamaño del filtro de cuadro, especificado como entero positivo impar o vector de 2 elementos de enteros positivos impares. Si filterSize es escalar, entonces el filtro de cuadro es cuadrado.

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

Argumentos de par nombre-valor

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.

En las versiones anteriores a la R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: B = imboxfilt(A,5,'Padding','circular');

Patrón de relleno, especificado como uno de los siguientes valores o como escalar numérico. Si especifica un valor escalar, se asume implícitamente que los píxeles de la imagen de entrada fuera de los límites de la imagen tienen el valor escalar.

ValorDescripción
'circular'Los valores de la imagen de entrada que se encuentran fuera de los límites de la imagen se calculan asumiendo implícitamente que la imagen de entrada es periódica.
'replicate'Se asume que los valores de la imagen de entrada que se encuentran fuera de los límites de la imagen son iguales al valor de borde más cercano de la imagen.
'symmetric'Los valores de la imagen de entrada que se encuentran fuera de los límites de la imagen se calculan reflejando en espejo el arreglo a lo largo de su borde.

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

Factor de normalización aplicado al filtro de cuadro, especificado como escalar numérico.

El valor predeterminado 'NormalizationFactor' tiene el efecto de un filtro medio: los píxeles de la imagen de salida son las medias locales de la imagen en el entorno determinado por filterSize. Para obtener sumas de áreas locales, establezca 'NormalizationFactor' en 1. Para evitar el desbordamiento en tales circunstancias, considere utilizar imágenes de doble precisión convirtiendo la imagen de entrada a la clase double.

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

Argumentos de salida

contraer todo

Imagen filtrada, devuelta como arreglo numérico del mismo tamaño que la imagen de entrada A.

Algoritmos

imboxfilt realiza el filtrado utilizando el filtrado basado en convolución o el filtrado de imagen integral, con una heurística interna para determinar qué enfoque de filtrado se utilizará.

Capacidades ampliadas

Historial de versiones

Introducido en R2015b

expandir todo