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.

imguidedfilter

Filtrado guiado de imágenes

Descripción

B = imguidedfilter(A,G) filtra la imagen binaria, en escala de grises o RGB mediante el filtro guiado, donde el proceso de filtrado se guía por la imagen.AG

ejemplo

B = imguidedfilter(A) filtra la imagen de entrada bajo autoguía, utilizándose a sí misma como imagen de guía.AA Esto se puede utilizar para suavizar el suavizado de la imagen con un suavizado de bordes.A

B = imguidedfilter(___,Name,Value) filtra la imagen utilizando pares nombre-valor para controlar aspectos del filtrado guiado.A

Ejemplos

contraer todo

Leer y mostrar una imagen.

A = imread('pout.tif'); imshow(A)

Suaviza la imagen con .imguidedfilter En esta sintaxis, utiliza la propia imagen como imagen de guía.imguidedfilter

Iguided = imguidedfilter(A);

Para comparar, suaviza la imagen original con un filtro gaussiano definido por .imgaussfilt Establezca la desviación estándar del filtro en 2,5 para que el grado de suavizado coincida aproximadamente con el del filtro guiado.

Igaussian = imgaussfilt(A,2);

Muestre el resultado del filtrado guiado y el resultado del filtrado gaussiano. Observe que las regiones planas de las dos imágenes filtradas, como la chaqueta y la cara, tienen cantidades similares de suavizado. Sin embargo, la imagen filtrada guiada preserva mejor la nitidez de los bordes, como alrededor del enrejado y el cuello de la camisa blanca.

montage({Iguided,Igaussian})

Argumentos de entrada

contraer todo

Imagen que se va a filtrar, especificada como una imagen binaria, en escala de grises o RGB.

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

Imagen que se utilizará como guía durante el filtrado, especificada como una imagen binaria, en escala de grises o RGB del mismo tamaño que la imagen.A

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

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: Ismooth = imguidedfilter(A,'NeighborhoodSize',[4 4]);

Tamaño de la vecindad rectangular alrededor de cada píxel utilizado en el filtrado guiado, especificado como un entero positivo o un vector de 2 elementos de enteros positivos. Si especifica un valor escalar, como , la vecindad es un cuadrado de tamaño.Q[Q Q] No especifique un valor mayor que el tamaño de la imagen.

Ejemplo: Ismooth = imguidedfilter(A,'NeighborhoodSize',[7 7]);

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

Cantidad de suavizado en la imagen de salida, especificada como un número positivo. Si especifica un valor pequeño, solo las vecindades con una pequeña varianza (áreas uniformes) se suavizarán y las vecindades con mayor varianza (como alrededor de los bordes) no se suavizarán. Si especifica un valor mayor, las vecindades de alta varianza, como las aristas más fuertes, se suavizarán además de las vecindades relativamente uniformes. Comience con el valor predeterminado, compruebe los resultados y ajuste el valor predeterminado hacia arriba o hacia abajo para lograr el efecto que desea.

Si especifica una imagen de guía , el valor predeterminado depende del tipo de datos de , y se calcula comoGdegreeOfSmoothingG 0.01*diff(getrangefromclass(G)).^2. Por ejemplo, el grado predeterminado de suavizado es para las imágenes de tipo de datos y el valor predeterminado es para las imágenes de tipo de datos con valores de píxel en el intervalo [0, 1].650.25uint80.01double Si no especifica una imagen de guía, el valor predeterminado depende de forma similar del tipo de datos de la imagen.A

Ejemplo: Ismooth = imguidedfilter(A,'DegreeOfSmoothing',650.25);

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 del mismo tamaño y tipo de datos queA

Sugerencias

  • El parámetro especifica un umbral flexible en la varianza para la vecindad dada.DegreeOfSmoothing Si la vecindad de un píxel tiene una varianza mucho menor que el umbral, verá cierta cantidad de suavizado. Si la vecindad de un píxel tiene una varianza mucho mayor que el umbral, tendrá poco o ningún suavizado.

  • Introduzca imágenes y puede ser de diferentes clases.AG Si una o es de clase entera o lógica, a continuación, los convierte en precisión de punto flotante para el cálculo interno.AGimguidedfilter

  • Introduzca imágenes y puede tener un número diferente de canales.AG

    • Si es una imagen y es una imagen en escala de grises o binaria, entonces se utiliza como guía para todos los canales de forma independiente.ARGBGimguidedfilterGA

    • Si ambas imágenes y rgb, utiliza cada canal de guía para el canal correspondiente de, es decir, el comportamiento plano por plano.AGimguidedfilterGA

    • Si es una imagen en escala de grises o binaria y es una imagen RGB, utiliza los tres canales de guía (estadísticas de color) para filtrar .AGimguidedfilterGA

Referencias

[1] Kaiming He, Jian Sun, Xiaoou Tang, Guided Image Filtering. IEEE Transactions on Pattern Analysis and Machine Intelligence, Volume 35, Issue 6, pp. 1397-1409, June 2013

Introducido en R2014a