Main Content

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

Imagen de Blur usando el filtro Wiener

Descripción

ejemplo

J = deconvwnr(I,psf,nsr) devolves image using the Wiener filter algorithm, devolviendo la imagen desenfocada . es la función de propagación de puntos (PSF) con la que se conectó. es la relación de potencia de ruido a señal del ruido aditivo.IJpsfInsr El algoritmo es óptimo en un sentido de error cuadrado menos medio entre las imágenes estimadas y las verdaderas.

J = deconvwnr(I,psf,ncorr,icorr) devolves image , donde está la función de autocorrelación del ruido y es la función de autocorrelación de la imagen original.Incorricorr

J = deconvwnr(I,psf) devolves image using the Wiener filter algorithm with no estimated noise.I En ausencia de ruido, un filtro Wiener es equivalente a un filtro inverso ideal.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo y muéstrala.

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)

Simular 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')

Intente la restauración sin hacer 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 utilizando 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

Función de dispersión de puntos, especificada como una matriz numérica.

Tipos de datos: double

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

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 coincide con la dimensionalidad de la imagen, los valores corresponden a la autocorrelación dentro de cada dimensión.ncorrI

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

  • Si es un vector y es una matriz, la función de autocorrelación 1-D se extrapola mediante simetría a todas las dimensiones que no son singleton de .ncorrpsfpsf

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

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 coincide con la dimensionalidad de la imagen, los valores corresponden a la autocorrelación dentro de cada dimensión.icorrI

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

  • Si es un vector y es una matriz, la función de autocorrelación 1-D se extrapola mediante simetría a todas las dimensiones que no son singleton de .icorrpsfpsf

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

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen descolorada, devuelta como una matriz numérica. tiene el mismo tipo de datos que .JI

Sugerencias

  • La imagen de salida podría exhibir el timbre introducido por la transformación discreta de Fourier utilizada en el algoritmo.J Para reducir el timbre, utilice antes de llamar a .I = edgetaper(I,psf)deconvwnr

Referencias

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

Introducido antes de R2006a