imboxfilt
Filtrado de cuadro 2D de imágenes
Descripción
filtra la imagen B
= imboxfilt(A
,filterSize
)A
con un filtro de cuadro 2D con tamaño especificado por filterSize
.
utiliza argumentos de par nombre-valor para controlar aspectos del filtrado.B
= imboxfilt(___,Name,Value
)
Ejemplos
Calcular el filtro medio sobre un entorno especificado
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')
Calcular sumas de áreas locales en el entorno especificado
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')
Argumentos de entrada
A
— Imagen que se desea filtrar
Arreglo numérico
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
filterSize
— Tamaño del filtro de cuadro
3
(predeterminado) | Entero positivo impar | Vector de 2 elementos de enteros positivos impares
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');
Padding
— Patrón de relleno
'replicate'
(predeterminado) | 'circular'
| 'symmetric'
| Escalar numérico
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.
Valor | Descripció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
NormalizationFactor
— Factor de normalización aplicado al filtro de cuadro
1/filterSize.^2
, si es escalar, y 1/prod(filterSize)
, si es vector (predeterminado) | Escalar numérico
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
B
— Imagen filtrada
Arreglo numérico
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
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
imboxfilt
es compatible con la generación de código C (requiere MATLAB® Coder™). Tenga en cuenta que, si selecciona la plataforma objetivo genéricaMATLAB Host Computer
,imboxfilt
genera código que utiliza una biblioteca compartida precompilada específica de la plataforma. El uso de una biblioteca compartida mantiene las optimizaciones de rendimiento, pero limita las plataformas objetivo para las que se puede generar código. Para obtener más información, consulte Types of Code Generation Support in Image Processing Toolbox.Cuando se genera código, todos los argumentos de entrada en forma de vectores de caracteres deben ser constantes en tiempo de compilación.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
Cuando se genera código, todos los argumentos de entrada en forma de vectores de caracteres deben ser constantes en tiempo de compilación.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con los entornos basados en hilos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Historial de versiones
Introducido en R2015bR2022b: Compatibilidad con entornos basados en hilos
Ahora imboxfilt
es compatible con los entornos basados en hilos.
Consulte también
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)