wiener2

2-D адаптивную фильтрацию для удаления шума

Синтаксис wiener2(I,[m n],[mblock nblock],noise) был удален. Используйте wiener2(I,[m n],noise) вместо этого синтаксис.

Описание

J = wiener2(I,[m n],noise) фильтрует полутоновое изображение I использование пиксельного адаптивного низкочастотного фильтра Винера. [m n] задает размер (m-by- n) района, используемого для оценки среднего локального изображения и стандартного отклонения. Аддитивный шум (Гауссов белый шум) степенью принимается как noise.

Изображение входа было ухудшено постоянной степенью аддитивным шумом. wiener2 использует пиксельный адаптивный метод Винера, основанный на статистике, оцененной из локальной окрестности каждого пикселя.

пример

[J,noise_out] = wiener2(I,[m n]) возвращает оценки аддитивного шума степени wiener2 вычисляет перед выполнением фильтрации.

Примеры

свернуть все

В этом примере показано, как использовать wiener2 функция для применения фильтра Винера (типа линейного фильтра) к изображению адаптивно. Фильтр Винера адаптируется к локальному отклонению изображения. Где отклонение большая, wiener2 выполняет небольшое сглаживание. Где отклонение небольшая, wiener2 выполняет больше сглаживания.

Этот подход часто дает лучшие результаты, чем линейная фильтрация. Адаптивный фильтр более избирательен, чем сопоставимый линейный фильтр, сохраняющие ребра и другие высокочастотные части изображения. В сложение проекта задач нет; а wiener2 Указатели на функцию все предварительные расчеты и реализуют фильтр для входа изображения. wiener2однако требует больше времени расчета, чем линейная фильтрация.

wiener2 лучше всего работает, когда шум является аддитивным шумом постоянной мощности («белым»), таким как Гауссов шум. Применим приведенный ниже пример wiener2 к изображению Сатурна с добавленным Гауссовым шумом.

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

RGB = imread('saturn.png');

Преобразуйте изображение из труколора в полутоновый.

I = im2gray(RGB);

Добавьте Гауссов шум к изображению

J = imnoise(I,'gaussian',0,0.025);

Отобразите шумное изображение. Поскольку изображение довольно большое, отображать только фрагмент изображения.

imshow(J(600:1000,1:600));
title('Portion of the Image with Added Gaussian Noise');

Figure contains an axes. The axes with title Portion of the Image with Added Gaussian Noise contains an object of type image.

Удалите шум с помощью wiener2 функция.

K = wiener2(J,[5 5]);

Отобразите обработанное изображение. Поскольку изображение довольно большое, отображать только фрагмент изображения.

figure
imshow(K(600:1000,1:600));
title('Portion of the Image with Noise Removed by Wiener Filter');

Figure contains an axes. The axes with title Portion of the Image with Noise Removed by Wiener Filter contains an object of type image.

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

свернуть все

Входное изображение, заданное как 2-D числовой массив.

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

Размер окрестности, заданный как вектор с 2 элементами [m n] где m количество строк и n количество столбцов.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Аддитивный шум, заданный как числовой массив. Если вы не задаете шум, то wiener2 вычисляет среднее значение локального отклонения, mean2(localVar).

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

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

свернуть все

Отфильтрованное изображение, возвращенное в виде числового массива того же размера и класса, что и входа изображение I.

Оценка аддитивной степени шума, возвращаемая как числовой массив.

Алгоритмы

wiener2 оценивает локальное среднее и отклонение вокруг каждого пикселя.

μ=1NMn1,n2ηa(n1,n2)

и

σ2=1NMn1,n2ηa2(n1,n2)μ2,

где η - локальная окрестность N на М каждого пикселя в изображении A. wiener2 затем создает пиксельный фильтр Винера, используя эти оценки,

b(n1,n2)=μ+σ2ν2σ2(a(n1,n2)μ),

где2 - отклонение шума. Если отклонение шума не задано, wiener2 использует среднее значение всех локальных оценочных отклонений.

Ссылки

[1] Lim, Jae S. Двумерная обработка сигналов и изображений, Englewood Cliffs, NJ, Prentice Hall, 1990, p. 548, уравнения 9.44, 9.45 и 9.46.

Расширенные возможности

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