Скачиваний:
4
Добавлен:
02.05.2014
Размер:
31.68 Кб
Скачать

Список функцийImage Processing Toolbox. Описание функции NLFILTER  Семинары   Обучение   Лицензирование   Разработка   Подписка   Форум  Регистрация    Matlab    Toolboxes    Simulink    Blocksets    Femlab    Полезное Вход Обработка сигналов и изображений\image Processing ToolboxСписок функций Image Processing Toolbox: Фильтрация изображений

  В оглавление \ К следующему разделу \ К предыдущему разделу

NLFILTER Обобщенный нелинейный фильтр Синтаксис:

D=nlfilter(S, [m n], fun)

D=nlfilter(S, [m n], fun, P1, P2)

Xd=nlfilter(Xs, ‘indexed’,…)

Описание:

Функция D=nlfilter(S, [m n], fun) формирует новое изображение D, пиксели которого являются результатом обработки функцией fun пикселей исходного изображения S, соответствующих положению маски фильтра размера mxn. Операция применяется нерекурсивно для всех положений маски. При проведении вычислений исходное изображение временно дополняется n/2 столбцами нулевых пикселей справа и слева, и m/2 строками нулевых пикселей сверху и снизу.

Данная функция предназначена для обработки бинарных или полутоновых изображений.

Существует 3 варианта задания параметра fun. Они приведены в таблице в описании функции blkproc. Через х должна быть обозначена матрица пикселей исходного изображения, соответствующих положению маски фильтра.

Функция D=nlfilter(S, [m n], fun, P1, P2) формирует изображение D, передавая в функцию fun дополнительные параметры Р1, Р2.

Формат представления данных изображений S и D определяется реализацией функции fun.

Функция Xd=nlfilter(Xs, ‘indexed’,…) аналогична рассмотренным выше, но предназначена для обработки палитровых изображений. При проведении вычислений исходное изображение временно дополняется либо единицами при формате представления данных Xs-double, либо нулями при формате представления данных Xs-uint8.

Повысить скорость осуществления нелинейной фильтрации можно с помощью функции colfilt, которая предварительно преобразует пиксели окна в столбцы.

Пример:

Реализуем с помощью функции nlfilter операцию усреднения с порогом. Данная операция предназначена для фильтрации импульсного шума. Смысл операции усреднения с порогом состоит в том, что центральному пикселю в пределах окна присваивается среднее значение яркости всех пикселей в пределах окна только в том случае, если разница между исходным значением центрального пикселя и средним больше некоторого порогового значения. В результате импульсная помеха отфильтровывается, а изображение не размывается так сильно, как при простой усредняющей фильтрации [1].

На рис. 1,а приведено исходное изображение, поврежденное импульсным шумом. На рис. 1,б - результат фильтрации.

%Пример демонстрирует работу усредняющего фильтра с порогом.

%Чтение исходного изображения и вывод его на экран.

I=imread(‘bacteria.tif’);

I=im2double(I);

imshow(I);

%Усредняющая фильтрация с порогом.

I=nlfilter(I, [3 3], ‘AverageWithTh’, 0.2);

%Вывод на экран результата фильтрации.

figure, imshow(I);

%AverageWithTh.m

%Функция усреднения с порогом.

function R=AverageWithTh(x, Th);

%Определяем размер маски.

[r c]=size(x);

n=r*c;

%Определяем координаты центрального пиксела окна.

r=floor((r+1)/2);

c=floor((c+1)/2);

%Результат усреднения.

s=sum(x(:))/n;

%Если разница центрального пиксела окна и среднего больше порога, то заменяем значение центрального

%пиксела на среднее.

if (abs(x(r, c)-s))>Th

R=s;

%Иначе значение текущего пиксела не изменяется.

else

R=x(r, c);

end;

end;

а) б) Рис. 1.

Сопутствующие функции: COLFILT, BLKPROC.

Ссылки на литературу: Прэтт У. Цифровая обработка изображений: В 2 т. М.: Мир, 1982.

  В оглавление \ К следующему разделу \ К предыдущему разделу

  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("") >

Соседние файлы в папке Функции Image Toolbox