Функции Image Toolbox / fspecial.php
.htmСписок функцийImage Processing Toolbox. Описание функции FSPECIAL Семинары Обучение Лицензирование Разработка Подписка Форум Регистрация Matlab Toolboxes Simulink Blocksets Femlab Полезное Вход Обработка сигналов и изображений\image Processing ToolboxСписок функций Image Processing Toolbox: Фильтрация изображений
В оглавление \ К следующему разделу \ К предыдущему разделу
FSPECIAL Задание маски предопределенного типа Синтаксис:
h=fspecial(type, P1, P2)
Описание:
Функция h=fspecial(type, P1, P2) возвращает маску h предопределенного двумерного линейного фильтра, задаваемого строкой type. Маска h предназначена для передачи в функции filter2 или conv2, выполняющих двумерную линейную фильтрацию. В зависимости от типа фильтра для него могут быть определены один или два дополнительных параметра Р1, Р2. Ниже будут рассмотрены возможные варианты функции fspecial.
Функция h=fspecial(‘gausian’, n, sigma) возвращает маску h фильтра нижних частот Гаусса. Размер маски определяет параметр n. Если n - двухкомпонентный вектор, то размер маски n(1)n(2). Если n скаляр, то размер маски nn. Параметр sigma задает среднеквадратическое отклонение распределения Гаусса, которое используется при формировании маски h. Если при вызове функции параметры n и sigma опущены, то размер маски устанавливается равным 33, а среднеквадратическое отклонение 0.5.
Функция h=fspecial(‘sobel’) возвращает маску фильтра Собеля для выделения горизонтальных границ:
.
Для выделения вертикальных границ достаточно транспонировать данную маску h.
Функция h=fspecial(‘prewitt’) возвращает маску фильтра Превита для выделения горизонтальных границ:
.
Для выделения вертикальных границ достаточно транспонировать данную маску h.
Функция h=fspecial(‘laplasian’, a) возвращает маску h ВЧ фильтра Лапласа. Размер маски 33. Параметр а управляет соотношением между центральным и граничными элементами маски. Данный параметр должен устанавливаться в диапазоне [0, 1]. По умолчанию а=0.2.
Функция h=fspecial(‘log’, n, sigma) возвращает маску h фильтра, аналогичного последовательному применению фильтров Гаусса и Лапласа, так называемого лапласиана-гауссиана. Размер маски определяет параметр n. Если n - двухкомпонентный вектор, то размер маски n(1)n(2). Если n - скаляр, то размер маски nn. Параметр sigma задает среднеквадратическое отклонение Гаусса, которое используется при формировании маски h. Если при вызове функции параметры n и sigma опущены, то размер маски устанавливается равным 55, а среднеквадратическое отклонение 0.5.
Функция h=fspecial(‘average’, n) возвращает маску h усредняющего НЧ фильтра. Размер маски определяет параметр n. Если n - двухкомпонентный вектор, то размер маски n(1)n(2). Если n - скаляр, то размер маски nn. Если при вызове функции параметр n опущен, то размер маски устанавливается равным 33.
Функция h=fspecial(‘unsharp’, a) возвращает маску h фильтра, повышающего резкость изображения. Размер маски 33. Параметр а управляет соотношением между центральным и граничными элементами маски. Данный параметр должен устанавливаться в диапазоне [0, 1]. По умолчанию а=0.2.
Алгоритмы:
Усредняющий фильтр относится к фильтрам нижних частот. Он предназначен для фильтрации высокочастотного шума, и его работа сопровождается размытием изображения. Каждый элемент маски равен 1/MN, где М и N - размеры маски (количество строк и столбцов).
Фильтр Гаусса также относится к НЧ фильтрам. В отличие от усредняющего фильтра он в меньшей мере размывает обрабатываемое изображение [1]. Маска фильтра такова, что центральный элемент маски имеет наибольшее значение, он соответствует пику распределения Гаусса. Значения остальных элементов уменьшаются по мере удаления от центрального элемента. Уменьшение происходит в соответствии с распределением Гаусса. Маска формируется с использованием следующих соотношений:
;
,
где M и N - размеры маски;
- среднеквадратическое отклонение распределения Гаусса.
Фильтр Лапласа относится к ВЧ фильтрам и предназначен для выделения границ (перепадов) во всех направлениях [1]. Маска фильтра конструируется следующим образом:
,
где - параметр в диапазоне [0,1], передаваемый в функцию fspecial.
Лапласиан-гауссиан также относится к ВЧ фильтрам, но в отличие от фильтра Лапласа выделяет более резкие перепады. Маска фильтра создается по формуле
,
где M и N - размеры маски;
- среднеквадратическое отклонение распределения Гаусса.
Формула для вычисления выведена выше.
Маска фильтра, повышающего резкость изображения, создается следующим образом:
,
где - параметр в диапазоне [0,1], передаваемый в функцию fspecial.
Пример:
Рассмотрим, каким образом влияет среднеквадратическое отклонение распределения Гаусса на элементы маски фильтра Гаусса, возвращаемые функцией fspecial. Получим значения маски фильтра Гаусса размера 55 для среднеквадратического отклонения 0.5 и 0.7. На рис. 1 а приведена частотная характеристика фильтра Гаусса с маской h05, а на рис. 1 б - частотная характеристика фильтра Гаусса с маской h07.
%Пример демонстрирует формирование маски фильтра Гаусса
%с помощью функции fspecial.
%Создание маски для фильтра Гаусса размера 55
%и со среднеквадратическим отклонением 0.5.
h05=fspecial(‘gaussian’, 5, 0.5)
%Будет выведено:
%h05 =
% 0.0000 0.0000 0.0002 0.0000 0.0000
% 0.0000 0.0113 0.0837 0.0113 0.0000
% 0.0002 0.0837 0.6187 0.0837 0.0002
% 0.0000 0.0113 0.0837 0.0113 0.0000
% 0.0000 0.0000 0.0002 0.0000 0.0000
%Создание маски для фильтра Гаусса размера 55
%и со среднеквадратическим отклонением 0.7.
h07=fspecial(‘gaussian’, 5, 0.7)
%Будет выведено:
%h07 =
% 0.0001 0.0020 0.0055 0.0020 0.0001
% 0.0020 0.0422 0.1171 0.0422 0.0020
% 0.0055 0.1171 0.3248 0.1171 0.0055
% 0.0020 0.0422 0.1171 0.0422 0.0020
% 0.0001 0.0020 0.0055 0.0020 0.0001
%Вывод на экран частотных характеристики линейных фильтров
%с масками h05 и h07.
freqz2(h05, [32 32]);
figure, freqz2(h07, [32 32]);
а)
б)
Рис. 1.
Сопутствующие функции: FILTER2, CONV2, EDGE.
Ссылки на литературу: Прэтт У. Цифровая обработка изображений: В 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("") >