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.

deconvblind

Imagen Deblur utilizando deconvolución ciega

Descripción

[J,psfr] = deconvblind(I,psfi) deconvolves la imagen utilizando el algoritmo de máxima verosimilitud y una estimación inicial de la función de propagación de puntos (PSF),.Ipsfi La función devuelve la imagen desborrosa y un PSF restaurado,.deconvblindJpsfr

Para mejorar la restauración, soporta varios parámetros opcionales, descritos a continuación.deconvblind Se utiliza como marcador de posición si no se especifica un parámetro intermedio.[]

[J,psfr] = deconvblind(I,psfi,iter) especifica el número de iteraciones,.iter

[J,psfr] = deconvblind(I,psfi,iter,dampar) controla la amplificación de ruido suprimiendo las iteraciones de los píxeles que se desvían una pequeña cantidad en comparación con el ruido, especificado por el umbral de amortiguación.dampar De forma predeterminada, no se produce ninguna amortiguación.

ejemplo

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight) Especifica qué píxeles de la imagen de entrada se consideran en la restauración.I El valor de un elemento de la matriz determina cuánto se considera el píxel en la posición correspondiente de la imagen de entrada.weight Por ejemplo, para excluir un píxel de la consideración, asígnele un valor de la matriz.0weight Puede ajustar el valor de peso asignado a cada píxel de acuerdo con la cantidad de corrección de campo plano.

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight,readout) especifica el ruido aditivo (p. ej., el fondo, el ruido de primer plano) y la varianza del ruido de la cámara de lectura.readout

[J,psfr] = deconvblind(___,fun), donde es un identificador de una función que describe las restricciones adicionales en el PSF. se llama al final de cada iteración.funfun Para obtener más información acerca de los identificadores de función, vea.Crear identificador de función (MATLAB)

Ejemplos

contraer todo

Cree una imagen de muestra con ruido.

% Set the random number generator back to its default settings for % consistency in results. rng default;  I = checkerboard(8); PSF = fspecial('gaussian',7,10); V = .0001; BlurredNoisy = imnoise(imfilter(I,PSF),'gaussian',0,V);

Cree una matriz de ponderación para especificar los píxeles que se incluirán en el procesamiento.

WT = zeros(size(I)); WT(5:end-4,5:end-4) = 1; INITPSF = ones(size(PSF));

Realizar la deconvolución ciega.

[J P] = deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT);

Mostrar los resultados.

subplot(221);imshow(BlurredNoisy); title('A = Blurred and Noisy'); subplot(222);imshow(PSF,[]); title('True PSF'); subplot(223);imshow(J); title('Deblurred Image'); subplot(224);imshow(P,[]); title('Recovered PSF');

Argumentos de entrada

contraer todo

Imagen borrosa, especificada como una matriz numérica de cualquier dimensión. También puede especificar la imagen como una matriz de celdas para habilitar las iteraciones interrumpidas. Para obtener más información, consulte.Consejos

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

Estimación inicial de PSF, especificada como una matriz numérica. La restauración de PSF se ve afectada fuertemente por el tamaño de la conjetura inicial y menos por los valores que contiene.psfi Por este motivo, especifique una matriz de s como su.1psfi

También puede especificar como matriz de celdas para habilitar iteraciones interrumpidas.psfi Para obtener más información, consulte.Consejos

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

Número de iteraciones, especificadas como un entero positivo.

Tipos de datos: double

Umbral para amortiguamiento, especificado como un escalar numérico. La amortiguación se produce para los píxeles cuya desviación entre iteraciones es menor que el umbral. tiene el mismo tipo de datos que.damparI

Valor de peso de cada píxel, especificado como una matriz numérica con valores en el intervalo [0, 1]. tiene el mismo tamaño que la imagen de entrada,.weightI De forma predeterminada, todos los elementos tienen el valor, por lo que todos los píxeles se consideran equitativamente en la restauración.weight1

Tipos de datos: double

Ruido, especificado como una matriz escalar o numérica numérica. El valor de corresponde al ruido aditivo (como el ruido del primer plano y el fondo) y la varianza del ruido de la cámara de lectura. tiene el mismo tipo de datos que.readoutreadoutI

Identificador de función, especificado como un identificador. debe aceptar el PSF como su primer argumento.fun La función debe devolver un argumento: un PSF que tenga el mismo tamaño que el PSF original y que satisfaga las restricciones de positividad y normalización.

Argumentos de salida

contraer todo

Imagen desborrosa, devuelta como una matriz numérica o una matriz de celdas de 1 por 4. (o cuando es una matriz de celdas) tiene el mismo tipo de datos que.JJ{1}JI Para obtener más información acerca de cómo devolver una matriz de celdas para iteraciones interrumpidas, vea.JConsejos

PSF restaurado, devuelto como una matriz de números positivos o una matriz de celdas de 1 por 4. tiene el mismo tamaño que la estimación inicial del PSF, y se normaliza para que la suma de los elementos sea 1.psfrpsfi Para obtener más información acerca de cómo devolver una matriz de celdas para iteraciones interrumpidas, vea.psfrConsejos

Tipos de datos: double

Sugerencias

  • Puede usar para realizar una deconvolución que comienza donde se detuvo una deconvolución anterior.deconvblind Para utilizar esta función, pase la imagen de entrada y la suposición inicial en el PSF, como matrices de celdas: y.Ipsfi{I}{psfi} Cuando lo hace, la función devuelve la imagen de salida y la función de propagación de puntos restaurada, como matrices de celdas, que luego se pueden pasar como matrices de entrada en la siguiente llamada.deconvblindJpsfrdeconvblind La matriz de celdas de salida contiene cuatro elementos:J

    contiene, la imagen original.J{1}I

    contiene el resultado de la última iteración.J{2}

    contiene el resultado de la iteración siguiente a la última.J{3}

    es una matriz generada por el algoritmo iterativo.J{4}

  • La imagen de salida podría exhibir el timbre introducido por la transformada discreta de Fourier utilizada en el algoritmo.J Para reducir el timbre, use antes de llamar.I = edgetaper(I,psfi)deconvblind

Referencias

[1] D.S.C. Biggs and M. Andrews, Acceleration of iterative image restoration algorithms, Applied Optics, Vol. 36, No. 8, 1997.

[2] R.J. Hanisch, R.L. White, and R.L. Gilliland, Deconvolutions of Hubble Space Telescope Images and Spectra, Deconvolution of Images and Spectra, Ed. P.A. Jansson, 2nd ed., Academic Press, CA, 1997.

[3] Timothy J. Holmes, et al, Light Microscopic Images Reconstructed by Maximum Likelihood Deconvolution, Handbook of Biological Confocal Microscopy, Ed. James B. Pawley, Plenum Press, New York, 1995.

Introducido antes de R2006a