deconvlucy

Изображение Deblur с помощью метода Люси-Ричардсона

Описание

пример

J = deconvlucy(I,psf) восстановления отображают I это было ухудшено сверткой с функцией рассеяния точки (PSF), psf, и возможно аддитивным шумом. Алгоритм основан на максимизации вероятности что получившееся изображение J экземпляр оригинального изображения I под статистикой Пуассона.

Улучшить восстановление, deconvlucy поддержки несколько дополнительных параметров, описанных ниже. Использование как заполнитель, если вы не задаете промежуточный параметр.

пример

J = deconvlucy(I,psf,iter) задает количество итераций, iter.

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

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

J = deconvlucy(I,psf,iter,dampar,weight,readout) задает аддитивный шум (такой как фон или приоритетный шум) и отклонение шума камеры считывания, readout.

J = deconvlucy(I,psf,iter,dampar,weight,readout,subsample) подвыборка использования, когда PSF дан на сетке, которая является subsample времена, более прекрасные, чем изображение.

Примеры

свернуть все

Считайте и отобразите нетронутое изображение, которое не имеет размытости или шума. Этот пример опционально обрезки изображение к размеру 256 256 с верхним левым (x, y) координируют в (2,50).

I = imread('board.tif');
I = imcrop(I,[2 50 255 255]);
imshow(I)
title('Original Image')

Создайте PSF, который представляет Гауссову размытость со стандартным отклонением 5 и фильтр размера, 5 на 5.

PSF = fspecial('gaussian',5,5);

Симулируйте размытость в изображении.

blurred = imfilter(I,PSF,'symmetric','conv');

Добавьте симулированный нулевой средний Гауссов шум.

V = 0.002;
blurred_noisy = imnoise(blurred,'gaussian',0,V);
imshow(blurred_noisy)
title('Blurred and Noisy Image')

Используйте deconvlucy восстановить размытое и шумное изображение. Задайте PSF, используемый, чтобы создать размытость и сократить число итераций к 5.

luc1 = deconvlucy(blurred_noisy,PSF,5);
imshow(luc1)
title('Restored Image')

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

I = checkerboard(8);
PSF = fspecial('gaussian',7,10);
V = .0001;
BlurredNoisy = imnoise(imfilter(I,PSF),'gaussian',0,V);

Создайте массив веса и вызовите deconvlucy использование нескольких дополнительных параметров.

WT = zeros(size(I));
WT(5:end-4,5:end-4) = 1;
J1 = deconvlucy(BlurredNoisy,PSF);
J2 = deconvlucy(BlurredNoisy,PSF,20,sqrt(V));
J3 = deconvlucy(BlurredNoisy,PSF,20,sqrt(V),WT);

Отобразите результаты.

subplot(221);imshow(BlurredNoisy);
title('A = Blurred and Noisy');
subplot(222);imshow(J1);
title('deconvlucy(A,PSF)');
subplot(223);imshow(J2);
title('deconvlucy(A,PSF,NI,DP)');
subplot(224);imshow(J3);
title('deconvlucy(A,PSF,NI,DP,WT)');

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

свернуть все

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

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

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

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

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

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

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

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

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

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

Подвыборка, заданная как положительная скалярная величина.

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

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

свернуть все

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

Советы

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

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

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

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

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

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

  • deconvlucy преобразует PSF в double без нормализации.

  • deconvlucy возвращаемые значения мая в выходном изображении, которые являются вне области значений входного изображения.

Ссылки

[1] D.S.C. Четырехрядные ячмени и М. Эндрюс, Ускорение итеративных алгоритмов восстановления изображений, Прикладной Оптики, Издания 36, № 8, 1997.

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

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

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