deconvblind

Изображение Deblur с использованием слепого деконволюции

Описание

[J,psfr] = deconvblind(I,psfi) deconvolves изображение I используя алгоритм максимального правдоподобия и начальную оценку функции расширения точек (PSF), psfi. The deconvblind функция возвращает оба окрашенных изображения J и восстановленный PSF, psfr.

Чтобы улучшить восстановление, deconvblind поддерживает несколько необязательных параметров, описанных ниже. Использование [] как заполнитель, если вы не задаете промежуточный параметр.

[J,psfr] = deconvblind(I,psfi,iter) определяет количество итераций, iter.

[J,psfr] = deconvblind(I,psfi,iter,dampar) управляет усилением шума путем подавления итераций для пикселей, которые отклоняются в небольшом количестве по сравнению с шумом, заданным порогом демпфирования dampar. По умолчанию демпфирование не происходит.

пример

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight) определяет, какие пиксели в вход изображении I учитываются при реставрации. Значение элемента в weight массив определяет, сколько пикселя в соответствующем положении в вход изображении учитывается. Для примера, чтобы исключить пиксель из фактора, присвойте ему значение 0 в weight массив. Можно настроить значение веса, присвоенное каждому пикселю, в соответствии с величиной коррекции плоского поля.

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight,readout) задает аддитивный шум (такой как шум фона и переднего плана) и отклонение шума считываемой камеры, readout.

[J,psfr] = deconvblind(___,fun), где fun является указателем на функцию, которая описывает дополнительные ограничения на PSF. fun вызывается в конце каждой итерации. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

Примеры

свернуть все

Создайте образец изображения с шумом.

% 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);

Создайте массив весов, чтобы указать, какие пиксели включены в обработку.

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

Выполните слепую деконволюцию.

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

Отображение результатов.

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

Figure contains 4 axes. Axes 1 with title A = Blurred and Noisy contains an object of type image. Axes 2 with title True PSF contains an object of type image. Axes 3 with title Deblurred Image contains an object of type image. Axes 4 with title Recovered PSF contains an object of type image.

Входные параметры

свернуть все

Размытое изображение, заданное как числовой массив любой размерности. Можно также задать изображение как массив ячеек, чтобы включить прерывание итераций. Для получения дополнительной информации см. советы».

Типы данных: single | double | int16 | uint8 | uint16

Начальная оценка PSF, заданная как числовой массив. На восстановление PSF сильно влияет размер исходного предположения psfi и меньше по содержащимся в нем значениям. По этой причине задайте массив 1s как ваш psfi.

Можно также задать psfi как массив ячеек для включения прерывания итераций. Для получения дополнительной информации см. советы».

Типы данных: single | double | int16 | uint8 | uint16

Количество итераций, заданное как положительное целое число.

Типы данных: double

Порог демпфирования, заданная как числовой скаляр. Демпфирование происходит для пикселей, чье отклонение между итерациями меньше порога. dampar имеет тот совпадающий тип данных что и I.

Значение веса каждого пикселя, заданное как числовой массив со значениями в области значений [0, 1]. weight имеет тот же размер, что и входное изображение, I. По умолчанию все элементы в weight иметь значение 1, так что все пиксели рассматриваются в реставрации одинаково.

Типы данных: double

Шум, заданный как числовой скаляр или числовой массив. Значение readout соответствует аддитивному шуму (такому как шум от переднего плана и фона) и отклонения шума считываемой камеры. readout имеет тот совпадающий тип данных что и I.

Указатель на функцию, заданный как указатель. fun должен принять PSF в качестве первого аргумента. Функция должна вернуть один аргумент: PSF, который является таким же размером, как и исходный PSF, и который удовлетворяет ограничениям положительности и нормализации.

Выходные аргументы

свернуть все

Снятое изображение, возвращенное как числовой массив или массив ячеек 1 на 4. J (или J{1} когда J - массив ячеек) имеет совпадающий тип данных что и I. Для получения дополнительной информации о возврате J как массив ячеек для прерывания итераций, см. «Советы».

Восстановлен PSF, возвращен как массив положительных чисел или массив ячеек 1 на 4. psfr имеет тот же размер, что и начальная оценка PSF, psfi, и это нормировано, так что сумма элементов равна 1. Для получения дополнительной информации о возврате psfr как массив ячеек для прерывания итераций, см. «Советы».

Типы данных: double

Совет

  • Можно использовать deconvblind чтобы выполнить деконволюцию, которая начинается с остановки предыдущего деконволюции. Чтобы использовать эту функцию, передайте вход изображение I и начальное предположение в PSF, psfi, как массивы ячеек: {I} и {psfi}. Когда вы делаете, deconvblind функция возвращает выходное изображение J и восстановленную функцию расширения точек, psfr, как массивы ячеек, которые затем могут быть переданы как входные массивы в следующую deconvblind вызов. Система выхода массива ячеек J содержит четыре элемента:

    J{1} содержит I, а оригинальное изображение.

    J{2} содержит результат последней итерации.

    J{3} содержит результат итерации «следующая к последней».

    J{4} - массив, сгенерированный итеративным алгоритмом.

  • Выходное изображение J может показать звонок, введенный дискретным преобразованием Фурье, используемым в алгоритме. Чтобы уменьшить вызывной сигнал, используйте I = edgetaper(I,psfi) перед вызовом deconvblind.

Ссылки

[1] ОКРУГ ЮЖНАЯ КАРОЛИНА. Биггс и М. Эндрюс, Ускорение итерационных алгоритмов восстановления изображений, Applied Optics, Vol. 36, № 8, 1997.

[2] R.J. Hanisch, R.L. White, and R.L. Gilliland, Deconvolutions of Hubble Пространства Telescope Изображений and Спектров, Deconvolution of Изображений and Спектров, Ed.A. Jansson, 2nd ed, Academic Press, Ca, 1997.

[3] Timothy J. Holmes, et al., Light Microscopic Images Reconstructed by Maximum Likelihity Deconvolution, Handbook of Biological Confocal Microscopy, Ed. Джеймс Б. Поули, Plenum Press Press, нью-йорк, 1995.

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте