Main Content

imdiffuseest

Parámetros estimados para el filtrado de difusión anisotrópica

Descripción

ejemplo

[gradientThreshold,numberOfIterations] = imdiffuseest(I) estima el umbral de gradiente y el número de iteraciones necesarias para filtrar la imagen en escala de grises mediante la difusión anisotrópica.I

[gradientThreshold,numberOfIterations] = imdiffuseest(I,Name,Value) utiliza pares nombre-valor para cambiar el comportamiento del algoritmo de difusión anisotrópica.

Ejemplos

contraer todo

Lea una imagen en escala de grises y, a continuación, aplique un fuerte ruido gaussiano. Muestre la imagen ruidoso.

I = imread('pout.tif'); Inoisy = imnoise(I,'gaussian',0,0.005); imshow(Inoisy) title('Noisy Image')

Calcule el umbral de degradado y el número de iteraciones necesarias para realizar el filtrado de difusión anisotrópica de la imagen.

[gradThresh,numIter] = imdiffuseest(Inoisy)
gradThresh = 1x5 uint8 row vector

   64   50   39   34   29

numIter = 5 

Filtre la imagen ruidoso utilizando la difusión anisotrópica con los parámetros estimados.

Idiffuseest = imdiffusefilt(Inoisy,'GradientThreshold', ...      gradThresh,'NumberOfIterations',numIter);

Para la comparación, también filtre la imagen ruidoso utilizando la difusión anisotrópica con los parámetros predeterminados. El umbral de degradado predeterminado es 25,5 porque el tipo de datos de la imagen es y el número predeterminado de iteraciones es 5.uint8

Idiffusedef = imdiffusefilt(Inoisy);

Compare visualmente las dos imágenes filtradas.

 montage({Idiffusedef,Idiffuseest},'ThumbnailSize',[])  title(['Anisotropic Diffusion Filtering Using ' ...      'Default Parameters (Left) vs. Estimated Parameters (Right)'])

Queda algo de ruido en la imagen que se filtró utilizando parámetros predeterminados. El ruido está casi completamente ausente de la imagen que se filtró utilizando parámetros estimados. Se conserva la nitidez de los bordes de ambas imágenes, especialmente los bordes de alto contraste, como el enrejado y el cuello blanco.

Argumentos de entrada

contraer todo

Imagen que se va a filtrar, especificada como una imagen en escala de grises 2D.

Tipos de datos: single | double | int16 | uint8 | uint16

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: estima los parámetros necesarios para la difusión anisotrópica en la imagen, utilizando una conectividad mínima.imdiffuseest(I,'Connectivity','minimal')I

Conectividad de un píxel a sus vecinos, especificada como el par separado por comas que consta de y o .'Connectivity''maximal''minimal' La Conectividad máxima considera ocho vecinos más cercanos y la Conectividad mínima considera cuatro vecinos más cercanos.

Método de conducción, especificado como el par separado por comas que consta de y o .'ConductionMethod''exponential''quadratic' La difusión exponencial favorece los bordes de alto contraste sobre los bordes de bajo contraste. La difusión cuadrática favorece a las regiones amplias sobre las regiones más pequeñas.

Argumentos de salida

contraer todo

Umbral de degradado, devuelto como un vector numérico del mismo tipo de datos que la imagen de entrada, .I La longitud del vector es igual a .numberOfIterations

Número de iteraciones que se utilizarán en el proceso de difusión, devueltas como un entero positivo.

Referencias

[1] Perona, P., and J. Malik. "Scale-space and edge detection using anisotropic diffusion." IEEE® Transactions on Pattern Analysis and Machine Intelligence. Vol. 12, No. 7, July 1990, pp. 629–639.

[2] Tsiotsios, C., and M. Petrou. "On the choice of the parameters for anisotropic diffusion in image processing." Pattern Recognition. Vol. 46, No. 5, May 2013, pp. 1369–1381.

Consulte también

Introducido en R2018a