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.

deconvwnr

Desenfocar imagen usando el filtro Wiener

Sintaxis

J = deconvwnr(I,psf,nsr)
J = deconvwnr(I,psf,ncorr,icorr)

Descripción

ejemplo

J = deconvwnr(I,psf,nsr) deconvolves Image I usando el algoritmo de filtro de Wiener, devolviendo Jde imagen desenfocada. psf es la función de dispersión de puntos (PSF) con la que se confundó I . nsr es el cociente de energía del ruido-a-señal del ruido aditivo. El algoritmo es óptimo en un sentido de error medio cuadrado mínimo entre las imágenes estimadas y verdaderas.

J = deconvwnr(I,psf,ncorr,icorr) deconvolves Image I, donde ncorr es la función de autocorrelación del ruido y icorr es la función de autocorrelación de la imagen original.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo y mostrarla.

I = im2double(imread('cameraman.tif')); imshow(I); title('Original Image (courtesy of MIT)');

Simular un desenfoque de movimiento.

LEN = 21; THETA = 11; PSF = fspecial('motion', LEN, THETA); blurred = imfilter(I, PSF, 'conv', 'circular'); figure, imshow(blurred)

Simule el ruido aditivo.

noise_mean = 0; noise_var = 0.0001; blurred_noisy = imnoise(blurred, 'gaussian', ...                         noise_mean, noise_var); figure, imshow(blurred_noisy) title('Simulate Blur and Noise')

Pruebe la restauración asumiendo que no hay ruido.

estimated_nsr = 0; wnr2 = deconvwnr(blurred_noisy, PSF, estimated_nsr); figure, imshow(wnr2) title('Restoration of Blurred, Noisy Image Using NSR = 0')

Intente la restauración usando una mejor estimación de la relación ruido-señal-potencia.

estimated_nsr = noise_var / var(I(:)); wnr3 = deconvwnr(blurred_noisy, PSF, estimated_nsr); figure, imshow(wnr3) title('Restoration of Blurred, Noisy Image Using Estimated NSR');

Argumentos de entrada

contraer todo

Imagen borrosa, especificada como una matriz numérica de cualquier dimensión.

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

PSF, especificada como una matriz numérica.

Tipos de datos: double

Relación ruido-señal, especificada como una matriz escalar o numérica positiva del mismo tamaño que la imagen, I. Si nsr es una matriz, entonces representa el dominio espectral. La especificación de 0 para el nsr equivale a crear un filtro inverso ideal.

Tipos de datos: double

Función de autocorrelación del ruido, especificada como una matriz numérica de cualquier tamaño o dimensión, sin exceder la imagen original.

  • Si la dimensionalidad de ncorr coincide con la dimensionalidad de la imagen I, los valores corresponden a la autocorrelación dentro de cada dimensión.

  • Si ncorr es un vector y psf es también un vector, entonces los valores en ncorr representan la función de autocorrelación en la primera dimensión.

  • Si ncorr es un vector y psf es un array, entonces la función de autocorrelación 1-D es extrapolada por simetría a todas las dimensiones no singleton de psf.

  • Si ncorr es un escalar, entonces el valor representa la potencia del ruido de la imagen.

Tipos de datos: double

Función de autocorrelación de la imagen, especificada como una matriz numérica de cualquier tamaño o dimensión, sin exceder la imagen original.

  • Si la dimensionalidad de icorr coincide con la dimensionalidad de la imagen I, los valores corresponden a la autocorrelación dentro de cada dimensión.

  • Si icorr es un vector y psf es también un vector, entonces los valores en icorr representan la función de autocorrelación en la primera dimensión.

  • Si icorr es un vector y psf es un array, entonces la función de autocorrelación 1-D es extrapolada por simetría a todas las dimensiones no singleton de psf.

  • Si icorr es un escalar, entonces el valor representa la potencia del ruido de la imagen.

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen desenfocada, devuelta como una matriz numérica. J tiene el mismo tipo de datos que I.

Sugerencias

  • La imagen de la salida J podía exhibir sonar introducido por el Fourier discreto transforma utilizado en el algoritmo. Para reducir el timbrado, use I = edgetaper(I,psf) antes de llamar a deconvwnr.

Referencias

[1] "Digital Image Processing", R. C. Gonzalez & R. E. Woods, Addison-Wesley Publishing Company, Inc., 1992.

Introducido antes de R2006a