Contenido principal

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.

imgaussfilt

Filtrado gaussiano 2D de imágenes

Descripción

B = imgaussfilt(A) filtra la imagen A con un núcleo de suavizado gaussiano 2D con desviación estándar de 0,5, y devuelve la imagen filtrada en B.

B = imgaussfilt(A,sigma) filtra la imagen A con un núcleo de suavizado gaussiano 2D con una desviación estándar que especifica sigma.

ejemplo

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

Ejemplos

contraer todo

Lea la imagen que se desea filtrar.

I = imread("cameraman.tif");

Filtre la imagen con un filtro gaussiano con desviación estándar de 2.

Iblur = imgaussfilt(I,2);

Muestre la imagen original y la filtrada en un montaje.

montage({I,Iblur})
title("Original Image (Left) Vs. Gaussian Filtered Image (Right)")

Figure contains an axes object. The hidden axes object with title Original Image (Left) Vs. Gaussian Filtered Image (Right) 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.

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

Desviación estándar de la distribución gaussiana, especificada como número positivo o vector de 2 elementos de números positivos. Si se especifica un escalar, imgaussfilt utiliza un núcleo gaussiano cuadrado.

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

Argumentos de par nombre-valor

contraer todo

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.

Ejemplo: B = imgaussfilt(A,FilterSize=3); especifica un filtro de tamaño 3.

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

Ejemplo: B = imgaussfilt(A,"FilterSize",3);

Tamaño del filtro gaussiano, especificado como entero positivo impar o vector de 2 elementos de enteros positivos impares. Si se especifica un escalar, imgaussfilt utiliza un filtro cuadrado. El tamaño por defecto del filtro es 2*ceil(2*sigma)+1.

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

Relleno de imágenes, especificado como uno de los siguientes valores de la tabla.

Valor

Descripción

Ejemplo

Escalar numérico, X

A los valores del arreglo de entrada que se encuentran fuera de los límites del arreglo se les asigna el valor X.

[314159265][2222222222222222314222215922222652222222222222222]

muestra un relleno con el valor 2.

"symmetric"

Los valores del arreglo de entrada que se encuentran fuera de los límites del arreglo se calculan reflejando en espejo el arreglo a lo largo de su borde.

[314159265][5115995133144113314415115995622655662265565115995]

"replicate"

Los valores del arreglo de entrada que se encuentran fuera de los límites del arreglo se asumen iguales que el valor de borde más cercano del arreglo.

[314159265][3331444333144433314441115999222655522265552226555]

"circular"

Los valores del arreglo de entrada que se encuentran fuera de los límites del arreglo se calculan asumiendo implícitamente que el arreglo de entrada es periódico.

[314159265][5915915652652614314315915915652652614314315915915]

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

Dominio en el que realizar el filtrado, especificado como uno de los siguientes valores:

ValorDescripción
"auto"Convolución en el dominio espacial o de la frecuencia basado en la heurística interna.
"frequency"Convolución en el dominio de la frecuencia.
"spatial"Convolución en el dominio espacial.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Imagen filtrada, devuelta como arreglo numérico de la misma clase y tamaño que la imagen de entrada, A.

Sugerencias

  • Si la imagen A contiene elementos con valores Inf o NaN, el comportamiento de imgaussfilt para el filtrado en el dominio de la frecuencia se encuentra indefinido. Esto puede ocurrir si se establece el argumento nombre-valor de FilterDomain como "frequency" o si se establece como "auto" y imgaussfilt utiliza el filtrado en el dominio de la frecuencia. Para restringir la propagación de Inf y NaN en la salida de forma similar a imfilter, plantéese establecer el argumento nombre-valor FilterDomain como "spatial".

  • Si establece el argumento nombre-valor FilterDomain como "auto", imgaussfilt utiliza una heurística interna para determinar si el filtrado en el dominio espacial o en el de la frecuencia es más rápido. Esta heurística depende de la máquina y puede variar en función de las diferentes configuraciones. Para obtener un rendimiento óptimo, pruebe ambas opciones, "spatial" y "frequency", para determinar el mejor dominio de filtrado para su imagen y el tamaño del núcleo.

  • Si no se especifica el argumento nombre-valor Padding, imgaussfilt utiliza por defecto el relleno de "replicate", que es diferente del que utiliza imfilter.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2015a

expandir todo