deconvblind

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

Синтаксис

[J,psfr] = deconvblind(I,psfi)
[J,psfr] = deconvblind(I,psfi,iter)
[J,psfr] = deconvblind(I,psfi,iter,dampar)
[J,psfr] = deconvblind(I,psfi,iter,dampar,weight)
[J,psfr] = deconvblind(I,psfi,iter,dampar,weight,readout)
[J,psfr] = deconvblind(___,fun)

Описание

[J,psfr] = deconvblind(I,psfi) deconvolves отображают 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 называется в конце каждой итерации. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию (MATLAB).

Примеры

свернуть все

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

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

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

свернуть все

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

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

Первоначальная оценка PSF, заданного как числовой массив. Восстановление PSF затронуто строго размером исходного предположения psfi, и меньше значениями это содержит. Поэтому задайте массив 1 s как ваш 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] Округ Южная Каролина. Четырехрядные ячмени и М. Эндрюс, Ускорение итеративных алгоритмов восстановления изображений, Прикладной Оптики, Издания 36, № 8, 1997.

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

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

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