Функции Image Toolbox / deconvblind.php
.htmСписок функцийImage Processing Toolbox. Описание функции DECONVBLIND Семинары Обучение Лицензирование Разработка Подписка Форум Регистрация Matlab Toolboxes Simulink Blocksets Femlab Полезное Вход Обработка сигналов и изображений\image Processing ToolboxСписок функций Image Processing Toolbox: Анализ изображений
В оглавление \ К следующему разделу \ К предыдущему разделу
DECONVBLIND Восстановление изображений с использованием алгоритма обратного преобразования свертки Синтаксис:
[J, PSF]=deconvblind(I, INITPSF)
[J, PSF]=deconvblind(I, INITPSF, NUMIT)
[J, PSF]=deconvblind(I, INITPSF, NUMIT, DAMPAR)
[J, PSF]=deconvblind(I, INITPSF, NUMIT, DAMPAR, WEIGHT)
[J, PSF]=deconvblind(I, INITPSF, NUMIT, DAMPAR, WEIGHT, READOUT)
[J, PSF]=deconvblind(... , FUN, P1, P2, ... , PN)
Описание:
Функция [J, PSF]=deconvblind(I, INITPSF) вычисляет обратное преобразование свертки для изображения I, используя алгоритм максимума вероятности, и возвращает восстановленное изображение J и восстановленную функцию протяженности PSF. Исходные массивы I, PSF и INITPSF могут быть числовыми массивами или массивами в виде ячеек. Восстановленная функция протяженности PSF является положительным массивом, который имеет такую же размерность как INITPSF.
Для улучшения восстановления, нужно оптимизировать некоторые параметры свертки, которые будут описаны ниже.
Функция [J, PSF]=deconvblind(I, INITPSF, NUMIT) определяет число итераций (по умолчанию 10).
Функция [J, PSF]=deconvblind(I, INITPSF, NUMIT, DAMPAR) определяет порог отклонения результирующего изображения от исходного I (в терминах среднеквадратического отклонения пуассоновского шума). Итерации прекращаются для пикселов, которые отклоняются на величину, не более чем DAMPAR, от их начального значения. Это приводит к уменьшению генерации шума на таких изображениях, и сохранению мелких деталей.
Функция [J, PSF]=deconvblind(I, INITPSF, NUMIT, DAMPAR, WEIGHT) определяет пикселы исходного изображения I, которые будут подвержены восстановлению. По умолчанию, параметр WEIGHT является единичным массивом, размеры которого совпадают с размерами исходного изображения. Также есть возможность определять элементы массива WEIGHT, значение которых должно быть в пределах между 0 и 1. Значение элементов массива WEIGHT определяется пикселами, которые находятся на позициях соответствующих описанию. Например, исключить из рассмотрения элементы, соответственные пикселы которых в массиве WEIGHT, равны 0. Существует возможность улучшить весовые значения, задавая каждому пикселу соответственно корректирующие значения.
В команде [J, PSF]=deconvblind(I, INITPSF, NUMIT, DAMPAR, WEIGHT, READOUT) параметр READOUT является массивом (или значением), которое соответствует добавленному шуму (фон, передний план) и может быть одним из вариантов шума, вносимого телевизионной камерой. READOUT может иметь размерность исходного изображения.
В функции [J, PSF]=deconvblind(..., FUN, P1, P2, ..., PN) FUN является функцией, описывающей дополнительные ограничения для PSF.
Функция FUN вызывается в конце каждой итерации и должна принимать значение PSF в качестве первого аргумента, также может принимать дополнительные параметры P1, P2,..., PN. Функция может возвратить один аргумент PSF, размеры которого совпадают с размерами исходного параметра PSF и который удовлетворяет дополнительным условиям.
Обратное преобразование свертки.
Сначала выполняется свертка с произвольными параметрами. Далее особенности выходного изображения I будут использоваться при выборе параметров PSF, INITPSF. Функция свертки возвращает результирующее изображение J и восстановленные точки функции протяженности PSF могут использоваться в следующих операциях свертки. Выходной массив J содержит четыре элемента:
J{1} – содержит массив I, исходное изображение;
J{2} – содержит результат предпоследний итерации;
J{3} – содержит результат последний итерации;
J{4} – массив, который генерирует итерационный алгоритм.
Требования к исходным данным.
Массив I должен иметь формат представления данных uint8, uint16 или double. Аргументы DAMPAR и READOUT имеют тот же формат представления данных что и исходное изображение. Другие параметры должны иметь формат представления данных double. Результирующее изображение J или первый массив результирующего массива имеют тот же формат представления данных, что и исходное изображение.
Пример:
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));
FUN=inline('PSF+P1', 'PSF', 'P1');
[J P]=deconvblind(BlurredNoisy, INITPSF, 20, 10*sqrt(V), WT, FUN, 0);
subplot(221); imshow(BlurredNoisy);
title('A=Blurred and Noisy');
subplot(222); imshow(PSF, []);
title('True PSF');
subplot(223); imshow(J);
title('Deblured Image');
subplot(224);imshow(P,[]);
title('Recovered PSF');
Сопутствующие функции: DECONVLUCY, DECONVREG, DECONVWNR, OTF2PSF, PADARRAY, PSF2OTF.
В оглавление \ К следующему разделу \ К предыдущему разделу
I Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
II Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2004 г.) На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro E-mail: matlab@exponenta.ru Информация на сайте была обновлена 14.05.05 Copyright 2001-2005 SoftLine Co
Наши баннеры hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=58396&im=33&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("") >