Main Content

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.

deconvreg

Enfocar una imagen con un filtro regularizado

Descripción

ejemplo

J = deconvreg(I,psf) deconvoluciona la imagen I utilizando el algoritmo de filtro regularizado y devuelve la imagen enfocada J. Se supone que la imagen I se creó convolviendo una imagen real con una función de dispersión puntual (PSF), psf, y posiblemente añadiendo ruido. El algoritmo es óptimo con restricciones en el sentido de un error cuadrático mínimo entre la imagen estimada y la real, con el requisito de preservar la suavidad de la imagen.

J = deconvreg(I,psf,np) especifica la potencia de ruido aditivo, np.

J = deconvreg(I,psf,np,lrange) especifica el intervalo, lrange, en el que se realiza la búsqueda de la solución óptima. El algoritmo encuentra un multiplicador de Lagrange óptimo lagra dentro del intervalo lrange.

J = deconvreg(I,psf,np,lrange,regop) limita la deconvolución mediante el operador de regularización regop. El operador de regularización predeterminado es el operador Laplaciano para conservar la suavidad de la imagen.

[J,lagra] = deconvreg(___) produce como salida el valor del multiplicador de Lagrange, lagra, además de la imagen restaurada, J.

Ejemplos

contraer todo

Cree una imagen de muestra.

I = checkerboard(8);

Cree una PSF y úsela para crear una versión borrosa y con ruido de la imagen de entrada.

PSF = fspecial('gaussian',7,10);
V = .01;
BlurredNoisy = imnoise(imfilter(I,PSF),'gaussian',0,V);
NOISEPOWER = V*prod(size(I));

Enfoque la imagen.

[J LAGRA] = deconvreg(BlurredNoisy,PSF,NOISEPOWER);

Muestre las distintas versiones de la imagen.

subplot(221); imshow(BlurredNoisy);
title('A = Blurred and Noisy');
subplot(222); imshow(J);
title('[J LAGRA] = deconvreg(A,PSF,NP)');
subplot(223); imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10));
title('deconvreg(A,PSF,[],0.1*LAGRA)');
subplot(224); imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA*10));
title('deconvreg(A,PSF,[],10*LAGRA)');

Figure contains 4 axes objects. Axes object 1 with title A = Blurred and Noisy contains an object of type image. Axes object 2 with title [J LAGRA] = deconvreg(A,PSF,NP) contains an object of type image. Axes object 3 with title deconvreg(A,PSF,[],0.1*LAGRA) contains an object of type image. Axes object 4 with title deconvreg(A,PSF,[],10*LAGRA) contains an object of type image.

Argumentos de entrada

contraer todo

Imagen borrosa, especificada como arreglo numérico de cualquier dimensión.

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

PSF, especificada como arreglo numérico.

Tipos de datos: double

Potencia de ruido, especificada como escalar numérico.

Tipos de datos: double

Intervalo de búsqueda, especificado como escalar numérico o vector numérico de 2 elementos. Si lrange es un escalar, el algoritmo supone que lagra es igual a lrange. Si especifica lagra, la función ignora el valor np.

Tipos de datos: double

Operador de regularización, especificado como arreglo numérico. Las dimensiones del arreglo regop no deben exceder las dimensiones de la imagen, I. Las dimensiones no singleton deben corresponder a las dimensiones no singleton de psf.

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen enfocada, devuelta como arreglo numérico. J tiene el mismo tipo de datos que I.

Multiplicador de Lagrange, devuelto como escalar numérico.

Sugerencias

  • La imagen de salida J podría mostrar artefactos de anillo introducidos por la transformada discreta de Fourier utilizada en el algoritmo. Para reducir la intensidad de los artefactos , utilice I = edgetaper(I,psf) antes de llamar a deconvreg.

Referencias

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

Historial de versiones

Introducido antes de R2006a