deconvblind

Изображение Deblur с помощью слепой развертки

Описание

[J,psfr] = deconvblind(I,psfi) разворачивает отображают I с помощью алгоритма наибольшего правдоподобия и первоначальной оценки функции рассеяния точки (PSF), psfi. deconvblind функция возвращает обоих, которые deblurred отображают 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 objects. Axes object 1 with title A = Blurred and Noisy contains an object of type image. Axes object 2 with title True PSF contains an object of type image. Axes object 3 with title Deblurred Image contains an object of type image. Axes object 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 и это удовлетворяет ограничения нормализации и положительность.

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

свернуть все

Изображение Deblurred, возвращенное как числовой массив или массив ячеек 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] D.S.C. Четырехрядные ячмени и М. Эндрюс, Ускорение итеративных алгоритмов восстановления изображений, Прикладной Оптики, Издания 36, № 8, 1997.

[2] Р.Дж. Хэниш, Р.Л. Вайт, и Р.Л. Джиллилэнд, Развертки Изображений Космического телескопа Хабблa и Спектров, Развертка Изображений и Спектров, Эда. П.А. Янссон, 2-й редактор, Academic Press, CA, 1997.

[3] Тимоти Дж. Холмс, и др., Легкие Микроскопические Изображения, Восстановленные Разверткой Наибольшего правдоподобия, Руководством Биологической Конфокальной Микроскопии, Эда. Джеймс Б. Поли, Пленум-Пресс, Нью-Йорк, 1995.

Представлено до R2006a