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.

deconvreg

Desenfocar imagen mediante filtro regularizado

Sintaxis

J = deconvreg(I,psf)
J = deconvreg(I,psf,np)
J = deconvreg(I,psf,np,lrange)
J = deconvreg(I,psf,np,lrange,regop)
[J,lagra] = deconvreg(___)

Descripción

ejemplo

J = deconvreg(I,psf) deconvolves la imagen I utilizando el algoritmo de filtrado regularizado, devolviendo Jde imagen desenfocada. El supuesto es que la imagen I fue creada por convolución una imagen verdadera con una función punto-extendida (PSF), psf, y posiblemente agregando ruido. El algoritmo es un óptimo restringido en el sentido de error cuadrado mínimo entre las imágenes estimadas y verdaderas bajo requisito de preservar suavidad de la imagen.

J = deconvreg(I,psf,np) Especifica la potencia acústica aditiva, np.

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

J = deconvreg(I,psf,np,lrange,regop) limita la decircunvolución mediante el operador de regularización regop. El operador de regularización por defecto es el Operador laplaciano, para conservar la suavidad de la imagen.

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

Ejemplos

contraer todo

Crear imagen de ejemplo.

I = checkerboard(8);

Cree PSF y utilícelo para crear una versión borrosa y ruidosa 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));

Desenfoque la imagen.

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

Mostrar 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)');

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

Potencia acústica, especificada como escalar numérico.

Tipos de datos: double

Rango de búsqueda, especificado como un escalar numérico o un vector numérico de 2 elementos. Si lrange es un escalar, el algoritmo asume que lagra es igual a lrange; a continuación, se omite el valor np .

Tipos de datos: double

Operador de regularización, especificado como una matriz numérica. Las dimensiones de la matriz regop no deben exceder las dimensiones de la imagen, I. Todas las cotas no singleton deben corresponder a las cotas no singleton de psf.

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.

Multiplicador de Lagrange, devuelto como escalar numérico.

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 deconvreg.

Introducido antes de R2006a