Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006) (1246139), страница 23
Текст из файла (страница 23)
Хвресла1('41ви', г). Круговой усредняющий фильтр (внутри квадрата со стороной 2г+1) радиуса г. По умолчанию г = 5. гвресла1('йапвв1вп', [г с], в(5). Низкочастотный гауссов фильтр размера гхс со стандартным (положительным) отклонением в15. Значения па умолчанию Зхз и 0.5.
Одна число на месте [г с] означает квадратный фильтр. тврес1а1('1ар1ас[ап', а1рьа). Фильтр Лапласа Зхз. форма которого задается параметром а1рЬа из интервала (0,1). По умолчанию а1рьа = 0.5. 1вресла1('1аб', [г с], в15). Лаплас от гауссова фильтра (ьоС) разлдера гх с со стандартным [паложительным) отклонением в»5. Значения по умолчанию 5х5 и О.5.
Одно число на месте [г с] означает квадратный фильтр. гврес1а1('ио»1ап', 1еп, СЬе»а). Выдает фильтр, который, будучи свернутым с изображением, приближает линейное перемещение (видеокамеры по отношению к изображению) на 1еп пикселов, Направление перемещения задается углом сьеса, который измеряется в градусах от горизонтали против часовой стрелки. Значения по умолчанию 9 и О, что соответствует перемш щению на 9 пикселов в горизонтальном направлении. тврес1а1('ргев1»с'). Выдаат Зхз маску Превитта чч, которая аппраксимирует вертикальный градиент. Маску горизонтального градиента можно получить, транспонировав результат:вЬ вч'. гвресла1('воье1').
Выдает Зхз маску Собела вч, которая аппраксимирует вертикальный градиент. Маску горизонтального градиента можно получить. транспонировав результат: вь вчк гврес1а1('шзвЬатр', а1рЬа). Выдает Зхз маску нечеткого фильтра. Параметр а1рЬа контролирует форму, он должен быть не меньше 0 и не больше 1.0. По умолчанию а1рЬа = 0.2. 'ачегайе' '6»в)г' 'бапвв1вп' '1ар1ас1вп' '1ай' 'ватлап' 'ргев1»С' 'ваЬе1' 'ппвЬагр ' Альтернативное приближение вторых производных учитывает значения диагональных элементов и дает маску 1 1 1 1 — 8 1 1 1 1 Обе производные иногда определяются с противоположным знаком, что приводит к смене знаков в приведенных выше формулах для масок. Улучшение изображений с помощью оператора Лапласа производится по фор- муле д[х, у) = 1 [т, у) + с'7~ [ [х, у), где [(т, у) -- это исходное изображение, д(т, у) — улучшенное изображение, а параметр с равен 1, если центральный коэффициент маски положителен, и с = — 1 в противном случае (см.
[Сопза]ез, Ч~оо([5, 2002]). Поскольку оператор Лапласа является дифференциальным, он повьппает резкость изображения, но переводит области с постоянными значениями яркости в О. Добавление исходного изображения восстанавливает тональность уровней таких областей. (~(1 $6 1ли~а,*~. ~1рсосдкию~.югам «риити итСдт чсг~мй и ~~~лнкро~итвю ~чаи 1п .ьт~ацин Ф~~к~~~й 1~~е~~й11'1~~14с1аР'. аХ~М) 1зеддиа~етбо~~еси~ж ~.
~ О.ОООО 1.ОООО О.ОООО 1.ОООО -4.ОООО 1.ОООО О.ОООО 1.ОООО О.ОООО Заметим, что фильтр принадлежит классу дпоЬ1е, и параметр формы а1рЬа = 1 приводит к описанному выше фильтру. Такую форму можно легко задать вручную » я = [О 1 0; 1 -4 1; 0 1 О]; Теперь применим фильтр я к изображению 1, которое имеет класс п1пх8: » я1 = 1ш111сет(т, я, 'гер11сасе'); » 1швЬоя(61, [ ] ) На рис. 3.16, б) приведен результат этих команд.
Этот результат представляется правдоподобным, но имеется одна проблема: все его пикселы положительны. В силу отрицательности центрального коэффициента фильтра можно ожидать появления фильтрованного изображения с отрицательными значениями пикселов. Однако в нашем случае исходное изображение было класса птпх8, а, как уже говорилось в предыдущем параграфе, фильтрация функцией 1ш111Сег производит на выходе изображение того же класса, что было на входе, поэтому отрицательные величины будут обрезаны.
Чтобы обойти эту проблему, следует преобразовать изображение 1 в класс йоиЬ1е перед фильтрацией; » 12 = тш26оиЬ1е(1); » я2 = 1шт11сет[т2, я, 'гер11сасе'); » 1швЬоя(62, [ ]) Результат, показанный на рис. 3.16, в),является правильно обработанным изображением при фильтрации с помощью лапласиана. Наконец, для восстановления тонов областей, потерянных при выполнения фильтрации лапласианом, следует вычесть (напомним, что центральный коэффициент фильтра отрицателен) отфильтрованное изображение из исходного: » 6=12-62; » 1швЬоя(6) Окончательный результат приведен на рис. 3.16, г).
Видно, насколько улучшен- ное изображение является более резким по сравнению с исходным. г) Пример 3.10. Подбор параметров фильтров и сравнение разных техник улучшения изображений. Задача улучшения изображений часто требует подбора параметров фильтров из имеющегося набора.
Лапласиан является хорошим примером. В пакете имеется фильтр-лапласиан ЗхЗ с числом — 4 в центре. Как правило, еще большую резкость изображения можно получить с лапласианом, в центре которого стоит число — 8, окруженное со всех сторон 1 (см. обсуждение выше). Целью следующего примера является ручная реализация этого фильтра для сравнения результатов, которые получаются с помощью двух форм фильтра лапласиана. Имеем следующую цепочку команд: Файл взят с сайта и и и.ко~фея.ги, на котором есть аде много интересной литературы (~1 $В !яао ~ 3 Пуноораосоаиая яруанаао изофаанссиип и пуосп~раисоаая он фио аа~миия 'МФ' с д э г Д9 состоящая из нулей и единиц, которые обозначают позиции пикселов, участвующие в вычислениях.
В этом смысле матрица ооша1п действует как маска. Пикселы окрестности, которым соответствуют нули в с)оша1п, не участвуют в вычислениях. Например, чтобы реализовать фильгпр минилгуэла (порядка 1) размера ягкий, применяется команда я = огс[т11в2[т, 1, опев[ш, и)). В такой записи охнет = 1 означает первый элемент в упорядоченной последовательности из гпп пикселов,а опев[ш, и) это матрица пгхп из одних единиц, указывающая на то, что все элементы окрестности участвуют в вычислении отклика фильтра. Используя терминологию статистик, фильтр минимума [первый элемент упорядоченной по возрастанию последовательности) — это нулевой процентиль.
Аналогично, сотый процентиль — это последний элемент упорядоченной последовательности, имеющий номер птп. Он соответствует фильтру максимума, который реализуется командой я = огс)т11с2[г, шеп, опев[ш, и)). Самым известным фильтром порядковых статистик в цифровой обработке изображений является медианный' фильтр, который соответствует 50-ему процентилю. Можно использовать функцию шео1ап в огот1112 для построения этого фильтра я = огох1112[1, шеййап[1:швп), опев[ш, и)). Здесь шео1ап[1:швп) — это медиана упорядоченной последовательности чисел 1, 2,..., тп.
Функция шео1ап имеет следующий общий синтаксис: и = шед1ап[А, 61ш), где ч — это вектор, элементы которого образуют медиану А вдоль размерности с)1ш. Например, если 61ш = 1, то каждый элемент н — это медиана элементов вдоль соответствующих столбцов матрицы А. В силу практической важности медианного фильтра в пакете 1РТ предусмотрена специальная реализация этого фильтра: я = шеп111С2[1, [ш, и), рас1орь), где пара [ш, п) задает окрестность размера тхп, по которой вычисляется медиана, а параметр рас[орт специфицирует три возможные опции расширения границ изображения: опция по умолчанию ьвегов' с нулевым расширением, 'вушшесг1с', при которой изображение 1 расширяется путем его зеркального отражения через границы, и '1пс[ехес[', при которой 1 расширяется значением 1, если Х имеет класс с)опЬ1е и значением 0 в противном случае. По умолчанию эта функция имеет вид я = шеот11С2[1), 1 Напомним, что медиана некоторого множества величин — это такое число С, что половине этих величин не больше б в другая половине — не меньше с .
'ССс 1 20 р: ас а М. сф».сбр~юсссисаа ярскюю и ссяабрссасссюса а тсрса и с ссса ссссо яыы фа ~ .трассаас иои 'лом иаиоссизъааая сскрас а ссссс-сс,'3 «,'5,рая вы сис. сс сссссс ясасассняи сс яа ~ снос* ссяс ас- в в При рассмотренном уровне шумов на рис. 3.18, б) медианный фильтр дает хорошие результаты при использовании его настроек по умолчанию. Обратите, однако, внимание на черные пятнышки на границах отфильтрованного изображения.
Это произошло из-за расширения границ изображения черными пиксе- лами (напомним, что по умолчанию изображение продолжается нулевыми, т.е. черными пикселами). Такого рода артефакты часто можно избежать, используя опцию 'яушшесг1с': » 8шя = шейг1112(гп, 'яушшесг1с'); Результат, изображенный на рис. 3.18, г), похож на рис. 3.18, в), но эффект почернения границ на нем не проявляется. П Выводы В этой главе, помимо обсуждения методов улучшения изображения, были заложены основы многих концепций, которые будут изучаться в следующих главах. Например, пространственная фильтрация снова встретится в гл. 5 в связи с поворотами изображений, где мы еще раз подробно рассмотрим задачу удаления шумов и приведем функции МАТЮКАВ, моделирующие различные шумы.
Некоторые пространственные маски лишь вскользь упоминались в этой главе, и они еще будут подробным образом изучаться в гл. 10 при обнаружении границ в задачах сегментации изображений. Концепции свертки и корреляции будут рассматриваться вновь в гл. 4 применительно к частотной области. Базовые идеи обработки маской при использовании различных методов пространственной фильтрации будут часто встречаться в дальнейшем. По ходу изложения нового материала будет продолжено обсуждение вопросов эффективной реализации пространственной фильтрации в среде МАТ1.АВ. ГЛАВА 4 ОБРАБОТКА В ЧАСТОТНОЙ ОБЛАСТИ Введение Материал этой главы во многом параллелен обсуждавшимся в гл. 3 методам фильтрации, однако здесь фильтрация будет производиться в частотной области после выполнения преобразования Фурье.
Находясь в основе методов линейной фильтрации, преобразование Фурье обеспечивает значительную гибкость при разработке и реализации алгоритмов фильтрации при решении задач улучшения, восстановления и сжатия изображений. Преобразование Фурье также лежит в фундаменте великого множества других важный практических приложений. В этой главе внимание сфокусировано на основах фильтрации в частотной области, реализуемой средствами МАТЮКАВ. Как и в гл.