deconvwnr

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

Описание

пример

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

J = deconvwnr(I,psf,ncorr,icorr) разворачивает отображают I, где ncorr автокорреляционная функция шума и icorr автокорреляционная функция оригинального изображения.

J = deconvwnr(I,psf) разворачивает отображают I использование Винеровского алгоритма фильтра без предполагаемого шума. В отсутствие шума Винеровский фильтр эквивалентен идеальному обратному фильтру.

Примеры

свернуть все

Считайте изображение в рабочую область и отобразите его.

I = im2double(imread('cameraman.tif'));
imshow(I);
title('Original Image (courtesy of MIT)');

Figure contains an axes object. The axes object with title Original Image (courtesy of MIT) contains an object of type image.

Симулируйте размытость изображения движущегося объекта.

LEN = 21;
THETA = 11;
PSF = fspecial('motion', LEN, THETA);
blurred = imfilter(I, PSF, 'conv', 'circular');
figure, imshow(blurred)

Figure contains an axes object. The axes object contains an object of type image.

Симулируйте аддитивный шум.

noise_mean = 0;
noise_var = 0.0001;
blurred_noisy = imnoise(blurred, 'gaussian', ...
                        noise_mean, noise_var);
figure, imshow(blurred_noisy)
title('Simulate Blur and Noise')

Figure contains an axes object. The axes object with title Simulate Blur and Noise contains an object of type image.

Попробуйте восстановление, принимающее шум.

estimated_nsr = 0;
wnr2 = deconvwnr(blurred_noisy, PSF, estimated_nsr);
figure, imshow(wnr2)
title('Restoration of Blurred, Noisy Image Using NSR = 0')

Figure contains an axes object. The axes object with title Restoration of Blurred, Noisy Image Using NSR = 0 contains an object of type image.

Попробуйте восстановление с помощью лучшей оценки шума, чтобы сигнализировать об отношении степени.

estimated_nsr = noise_var / var(I(:));
wnr3 = deconvwnr(blurred_noisy, PSF, estimated_nsr);
figure, imshow(wnr3)
title('Restoration of Blurred, Noisy Image Using Estimated NSR');

Figure contains an axes object. The axes object with title Restoration of Blurred, Noisy Image Using Estimated NSR contains an object of type image.

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

свернуть все

Размытое изображение в виде числового массива любой размерности.

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

Функция рассеяния точки в виде числового массива.

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

Отношение шума к сигналу в виде неотрицательного скалярного или числового массива одного размера с изображением, I. Если nsr массив, затем он представляет спектральную область. Определение 0 для nsr эквивалентно созданию идеального обратного фильтра.

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

Автокорреляционная функция шума в виде числового массива любого размера или размерности, не превышая оригинальное изображение.

  • Если размерность ncorr совпадает с размерностью изображения I, затем значения соответствуют автокорреляции в каждой размерности.

  • Если ncorr вектор и psf также вектор, затем значения в ncorr представляйте автокорреляционную функцию в первой размерности.

  • Если ncorr вектор и psf массив, затем 1D автокорреляционная функция экстраполируется симметрией ко всем неодноэлементным размерностям psf.

  • Если ncorr скаляр, затем значение представляет степень шума изображения.

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

Автокорреляционная функция изображения в виде числового массива любого размера или размерности, не превышая оригинальное изображение.

  • Если размерность icorr совпадает с размерностью изображения I, затем значения соответствуют автокорреляции в каждой размерности.

  • Если icorr вектор и psf также вектор, затем значения в icorr представляйте автокорреляционную функцию в первой размерности.

  • Если icorr вектор и psf массив, затем 1D автокорреляционная функция экстраполируется симметрией ко всем неодноэлементным размерностям psf.

  • Если icorr скаляр, затем значение представляет степень шума изображения.

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

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

свернуть все

Изображение Deblurred, возвращенное как числовой массив. J имеет совпадающий тип данных как I.

Советы

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

Ссылки

[1] Гонсалес, R. C. и Р. Э. Вудс. Цифровая обработка изображений. Addison-Wesley Publishing Company, Inc., 1992.

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