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

Deblur imagen usando desconvolución ciega

Descripción

[J,psfr] = deconvblind(I,psfi) implica la imagen utilizando el algoritmo de máxima verosimilitud y una estimación inicial de la función de dispersión de puntos (PSF), .Ipsfi La función devuelve tanto la imagen desenfocada como una PSF restaurada, .deconvblindJpsfr

Para mejorar la restauración, admite varios parámetros opcionales, que se describen a continuación.deconvblind Utilícelo como marcador de posición si no 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 iteraciones para 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 en 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 según la cantidad de corrección de campo plano.

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight,readout) especifica el ruido aditivo (por ejemplo, fondo, 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 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, consulte .Create Function Handle (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 peso para especificar qué píxeles se incluyen en el procesamiento.

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

Realizar una desconvolució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 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 matriz numérica. La restauración 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 archivo .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, especificado como un entero positivo.

Tipos de datos: double

Umbral de amortiguación, especificado como 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 igualmente en la restauración.weight1

Tipos de datos: double

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

Identificador de función, especificado como 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 desenfocar, 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 sobre cómo devolver como matriz de celdas para iteraciones interrumpidas, consulte .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 por lo que la suma de los elementos es 1.psfrpsfi Para obtener más información sobre cómo devolver como matriz de celdas para iteraciones interrumpidas, consulte .psfrConsejos

Tipos de datos: double

Sugerencias

  • Puede utilizar para realizar una desconvolución que comienza donde se detuvo una deconvolución anterior.deconvblind Para utilizar esta función, pase la imagen de entrada y la conjetura 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 dispersión de puntos restaurada, , como matrices de celdas, que se pueden pasar como matrices de entrada a 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 siguiente a la última iteración.J{3}

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

  • 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,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