Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

integralBoxFilter

Filtrado de caja 2D de imágenes integrales

Descripción

B = integralBoxFilter(A) filtra la imagen integral con un filtro de 3 por 3 cajas.Un Devuelve la imagen filtrada, .B

ejemplo

B = integralBoxFilter(A,filterSize) filtra la imagen integral con un filtro de caja 2D con el tamaño especificado por .UnfilterSize

B = integralBoxFilter(___,Name,Value) utiliza pares nombre-valor para controlar varios aspectos del filtrado.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo.

A = imread('cameraman.tif');

Anide la imagen por el radio de la vecindad del filtro. Este ejemplo utiliza un filtro 11 por 11.

filterSize = [11 11]; padSize = (filterSize-1)/2; Apad = padarray(A, padSize, 'replicate','both');

Calcular la imagen integral de la imagen de entrada acolchada.

intA = integralImage(Apad);

Filtre la imagen integral.

B = integralBoxFilter(intA, filterSize);

Mostrar la imagen original y la imagen filtrada.

figure imshow(A) title('Original Image')

figure imshow(B,[]) title('Filtered Image')

Lea la imagen en el espacio de trabajo.

 A = imread('cameraman.tif');

Ande la imagen por radio de la vecindad del filtro, calculada .(11-1)/2

padSize = [5 5];  Apad = padarray(A, padSize, 'replicate', 'both');

Calcular la imagen integral de la entrada acolchada.

intA = integralImage(Apad);

Filtre la imagen integral con un filtro vertical [11 1].

Bvert = integralBoxFilter(intA, [11 1]);

Recorte la salida para conservar el tamaño de la imagen de entrada y mostrarla.

Bvert = Bvert(:,6:end-5);

Filtre la imagen integral con un filtro horizontal [1 11].

Bhorz = integralBoxFilter(intA, [1 11]);

Recortar la salida para conservar el tamaño de la imagen de entrada.

Bhorz = Bhorz(6:end-5,:);

Muestre la imagen original y las imágenes filtradas.

figure, imshow(A) title('Original Image')

figure, imshow(Bvert,[]) title('Filtered with Vertical Filter')

figure, imshow(Bhorz,[]) title('Filtered with Horizontal Filter')

Argumentos de entrada

contraer todo

Imagen integral que se va a filtrar, especificada como una matriz numérica de cualquier dimensión.

La imagen integral debe estar en posición vertical, no admite imágenes integrales rotadas.integralBoxFilter Se supone que la primera fila y columna de la imagen integral está rellenada en cero, tal como la devolvió .integralImage

Tipos de datos: double

Tamaño del filtro de cuadro, especificado como un vector entero impar o de 2 elementos positivo de enteros positivos e impares. Si es escalar, utilice un filtro de cuadro cuadrado.filterSizeintegralBoxFilter

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

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: B = integralBoxFilter(A,5,'NormalizationFactor',1);

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

El valor predeterminado tiene el efecto de un filtro medio: los píxeles de la imagen de salida son los medios locales de la imagen.'NormalizationFactor' Para obtener sumas de área local, establezca en .'NormalizationFactor'1 Para evitar el desbordamiento en tales circunstancias, considere la posibilidad de utilizar imágenes de doble precisión mediante la conversión de la imagen de entrada a clase .double

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

Argumentos de salida

contraer todo

Imagen filtrada, devuelta como una matriz numérica. devuelve solo las partes del filtrado que se calculan sin relleno.integralBoxFilter

Tipos de datos: double

Capacidades ampliadas

Consulte también

|

Introducido en R2015b