Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Image Processing Toolbox» в програмному середовищі MatLab






Застосування стандартних просторових фільтрів із пакету

Мета: вивчення основних можливостей пакету «Image Processing» системи Matlab, як ефективного засобу цифрової обробки ілюстрацій.

Теоретичні відомості: Операції лінійної просторової фільтрації безпосередньо пов’язаний із обробкою пікселів зображення. Лінійні операції, полягають у помноженні кожного оточуючого пікселя і на відповідний коефіцієнт і підрахунок цих добутків для отримання результуючого відгуку процесу в кожній точці (х, у). Якщо оточення має розмір n× m, то буде потрібно nm коефіцієнтів. Ці коефіцієнти згруповані у вигляді матриці, яка називається фільтром, маскою, фільтруючої маскою, ядром, шаблоном або вікном, причому перші три терміни є найбільш поширеними.

Механізм лінійної просторової фільтрації полягає у переміщенні центру фільтруючої маски w від точки до точки зображення f. У кожній точці (х, у) відгуком фільтра є сума добутків коефіцієнтів фільтра і відповідних пікселів оточуючих ділянок, які накриваються фільтруючої маскою. Для маски розміру n× m зазвичай передбачається, що m = 2а + 1 і n = 26 + 1, де а і b - невід'ємні цілі числа, тобто основна увага приділяється маскам, що мають непарні розмыри, причому найменшим прийнятним розміром маски вважається розмір 3× 3 (маска 1× 1 виключається), оскільки в цьому випадку у маски є виражена центральна точка.

У пакеті IРТ програми MatLab лінійна просторова фільтрація реалізована функцією imfilter, яка має наступний синтаксис:

> > g=imfilter(f, w, filtering_mode, boundary_option, size_options);

де f ― це вхідне зображення, w фільтруюча маска, g ― результат фільтрації, а інші параметри наведені та пояснені в табл. 5.1. Так параметр ‘ filtering_mode ’ визначає, що здійснює фільтр, кореляцію (' corr ') або згортку (‘ conv ’). Опція ‘ boundary_option ’ відповідає за розширення кордонів, причому розміри разширення визначаються розмірами фільтра.

 

Таблиця 5.1. — Опції функції imfilter

Опції Опис
Мода фільтрації
  'Соrr' Фільтрація за методом кореляції. Мода за замовчуванням.
  'Conv' Фільтрація за методом згортки
  Граничні опції
  Р Межі зображення розширюються значенням Р (без апострофів). За замовчуванням Р = 0.
  'Replicate' Розмір зображення збільшується повторенням величин на його бокових границях.
  'Symmetric' Розмір зображення збільшується шляхом дзеркального відображення через границі.
  'Circular' Розмір зображення збільшується періодичним повторенням двомірної функції.
  Опції розміру
  'Full' Вихід має ті ж розміри, що і розширене вхідне зображення.
  'Same' Вихід має ті ж розміри, що і вхід, що досягається за допомогою обмеження переміщення центру фільтруючої маски точками вихідного зображення. Опції за замовчуванням.

 

Опція size_options ― це або 'full ', або ' same ', що вказують на методику збільшення розміру зміненого зображення. Найчастіше функція imfilter застосовується у вигляді команди:

> > g = imfilter (f, w, 'replicate').

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

> > g = imfilter (f, v, 'conv', ' replicate ').

Інший підхід полягає в попередній обробці маски w за допомогою функції rot90 (w, 2), яка повертає w на 180 °. Після цього застосовується команда imfilter (f, w, 'replicate'). Звичайно, ці два кроки можна записати в одній формулі. В результаті вийде зображення, розмір котрого збігається з розміром вихідного (тобто за умовчанням прийнята опція ' same ').

Також, у пакеті IPT є деякі стандартні двовимірні лінійні просторові фільтри, які можна отримати з функції fspecial, яка генерує маску фільтра w при виконанні команди

> > w = fspecial ('type', parameters),

де ' type ' позначає тип фільтра, а в аргументах parameters задаються параметри обраного фільтра. Просторові фільтри, одержувані цієї командою, наведено в табл. 5.2 разом з відповідними параметрами кожного фільтра.

 

Таблиця 5.2. — Просторові фільтри функції fspecial

Тип Синтаксис і параметри
  ' Average ' fspecial('average', [r c]). Прямокутний усереднюючий фільтр розміру r× c. За замовчуванням 3× 3. Одне число на місці [r c] означає квадратний фільтр.
  ' Disk ' fspecial('disk', r). Круговий усереднюючий фільтр (всередині квадрата зі стороною 2r +1) радіусу r. За замовчуванням г = 5.
  ' Gaussian ' fspecial('gaussian', [r c], sig). Низькочастотний гаусів фільтр розміром r× c зі стандартним (позитивним) відхиленням sig. Значення по замовчуванням 3× 3 і 0, 5. Одне число на місці [ r c ] означає квадратний фільтр.
  ' Laplacian ' fspecial('laplacian', alpha). Фільтр Лапласа 3× 3. форма якого задається параметром alpha з інтервалом [0, 1]. За замовчуванням alpha = 0, 5.
  ' Log ' fspecial('log', [r c], sig). Лаплас від Гаусівського фільтра (LoG) розміром r× c зі стандартним (позитивним) відхиленням sig. Значення за замовчуванням 5× 5 і 0, 5. Одне число на місці [ r c ] означає квадратний фільтр.
  ' Motion ' fspecial('motion', len, theta). Створює фільтр, який є згорнутим із зображенням, наближає лінійне переміщення на len пікселів. Напрямок переміщення задається кутом theta, який вимірюється в градусах від горизонталі проти годинникової стрілки. Значення за замовчуванням 9 і 0, що відповідає переміщеню на 9 пікселів в горизонтальному напрямку.
  ' Prewitt ' fspecial ('prewitt'). Створює 3× 3 маску Превітта wv, яка апроксимує вертикальний градієнт. Маску горизонтального градієнта можна отримати, транспонуючи результат: wh = wv'.
  ' Sobel ' fspecial('sobel'). Створює 3× 3 маску Собела sv, яка апроксимує вертикальний градієнт. Маску горизонтального градієнта можна отримавши транспонувавши результат: sh=sv'.
  ' Unsharp ' fspecial('unsharp', alpha). Створює 3× 3 маску нечіткого фільтра. Параметр alpha контролює форму, він повинен бути не менше 0 і не більше 1, 0. За замовчуванням alpha = 0, 2.





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.