wiener2

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

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

Синтаксис

J = wiener2(I,[m n],noise)
[J,noise_out] = wiener2(I,[m n])

Описание

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

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

пример

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

Примеры

свернуть все

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

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

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

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

RGB = imread('saturn.png');

Преобразуйте изображение от истинного цвета до шкалы полутонов.

I = rgb2gray(RGB);

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Размер окружения, заданный как векторный [m n] с 2 элементами, где m является количеством строк и n, является количеством столбцов. Если вы не используете аргумент [m n], m и значение по умолчанию n к 3.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

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

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

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

свернуть все

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

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

Алгоритмы

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

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

и

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

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

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

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

Ссылки

[1] Лим, Джэ С., Двумерная Обработка сигналов и Обработка изображений, Englewood Cliffs, NJ, Prentice Hall, 1990, p. 548, уравнения 9.26, 9.27, и 9.29.

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