- •230100 – Информатика и вычислительная техника
- •Часть 2. Алгоритмы цифровой обработки изображений 58
- •Часть 3. Методические указания для практических и лабораторных работ 109
- •Введение
- •Часть 1. Программирование графического адаптера nvidia с использованием технологии cuda
- •Краткая история развития графических адаптеров
- •Архитектура nvidia cuda
- •Архитектура gpu-приложения
- •Основные различия между cpu и cuda-устройством
- •Различие возможностей между поколениями cuda-устройств
- •Инструментарий cuda Toolkit
- •Установка
- •Проверка правильности установки
- •Компиляция примеров
- •Прикладные программные интерфейсы cuda
- •Особенности компиляции
- •Опции компилятора nvcc
- •Профайлер
- •Отладка программ в режиме эмуляции устройства
- •Среда разработки nvidia Parallel Nsight
- •Подключаемые библиотеки
- •Библиотека cublas
- •Библиотека cufft
- •Часть 2. Алгоритмы цифровой обработки изображений
- •Видоизменение гистограммы изображения
- •Основы пространственной фильтрации
- •Сглаживающие пространственные фильтры
- •Сглаживание изображений локальным усреднением
- •Сглаживание по обратному градиенту
- •Сглаживающий сигма-фильтр
- •Сглаживание по наиболее однородным областям
- •Медианный фильтр
- •Описание метода медианной фильтрации
- •Одномерный медианный фильтр
- •Зависимость качества работы медианного фильтра от размера апертуры
- •Двумерный медианный фильтр
- •Пространственные фильтры выделения границ областей
- •Линейные методы выделения границ областей. Лапласиан
- •Нелинейные методы выделения границ областей
- •Оператор Превита
- •Частотные фильтры
- •Сглаживающий частотный фильтр
- •Частотный фильтр повышения резкости
- •Гомоморфная фильтрация
- •Морфологическая фильтрация
- •Операции математической морфологии
- •Дилатация
- •Алгебраические свойства дилатации и эрозии
- •Применение морфологической дилатации
- •Применение морфологической эрозии
- •Размыкание и замыкание
- •Применение морфологических операций размыкания и замыкания
- •Основные морфологические алгоритмы
- •Выделение границ.
- •Заполнение областей.
- •Выпуклая оболочка.
- •Утончение.
- •Утолщение.
- •Построение остова.
- •Часть 3. Методические указания для практических и лабораторных работ
- •Практическая работа №1. Введение в технологию cuda
- •Цель работы
- •Порядок выполнения работы
- •Теоретическая часть
- •Архитектура графических адаптеров nvidia.
- •Архитектура чипа g80.
- •Архитектура чипа Fermi.
- •Вычислительные способности графического процессора.
- •Среда разработки cuda.
- •Язык cuda с.
- •Модель программирования cuda.
- •Теоретическая часть Модель памяти cuda
- •Особенности глобальной памяти.
- •Особенности разделяемой памяти.
- •Теоретическая часть Программный пакет «Sarcis».
- •Команды меню.
- •Панель инструментов.
- •Механизм подключения динамических библиотек.
- •Создание внешней библиотеки
- •Пример листинга программы динамической библиотеки.
- •Медианная фильтрация
- •Варианты индивидуальных заданий
- •Выбор по дискретному критерию.
- •Выбор по среднему контрасту.
- •Выбор по среднему градиенту.
- •Выбор на основе простых статистик.
- •Параметрическая аппроксимация.
- •Моментный подход.
- •Варианты индивидуальных заданий
- •Теоретическая часть
- •Инициализация устройства.
- •Выделение памяти на gpu
- •Пересылка данных между cpu и gpu.
- •Вызов функции ядра.
- •Методические рекомендации
- •Цель работы
- •Варианты индивидуальных заданий
- •Методические рекомендации
- •Защита лабораторной работы
- •Лабораторная работа № 3. Работа с разделяемой памятью в технологии cuda
- •Порядок выполнения работы
- •Методические рекомендации
- •Методические рекомендации
- •Особенности текстурной памяти.
- •Особенности линейной текстурной памяти.
- •Защита лабораторной работы
- •Правила оформления отчета
- •Оформление титульного листа
- •Библиографический список
Описание метода медианной фильтрации
Рассмотрим поле изображения, которое сканируется скользящим "окном", покрывающим одновременно несколько пикселей. При этом в окне оказывается небольшой фрагмент изображения. При перемещении окна фрагмент меняется. Постепенно окно сканирует все поле изображения. Сканирование изображения скользящим окном иллюстрирует рис.. 2.6.
Все пиксели, попадающие в окно, обрабатываются по некоторым правилам. Результатом обработки является пиксель выходного изображения, координаты которого обычно соответствуют центру окна.
Наиболее распространенные виды окон представлены на рис. 2.7. Все пиксели, попадающие в окно, обрабатываются по некоторым правилам.
При перемещении окна в нём оказывается меняющийся фрагмент изображения, состоящий из n отсчетов с центром в обрабатываемой точке.
Отсчеты изображения, оказавшиеся в пределах окна, образуют рабочую выборку текущего шага алгоритма.
Обозначим рабочую выборку в виде одномерного массива
Y={ y1, y2, …., yn} .
Число элементов зависит от размера n окна, а их расположение произвольно. Для медианных фильтров обычно применяют окна с нечетным числом элементов. Затем элементы рабочей выборки сортируются.
Одномерный медианный фильтр
Апертура фильтра – это размер окна (части изображения), с которым фильтр работает непосредственно в данный момент времени.
Выделяют одномерные и двумерные медианные фильтры, причем формы окон могут быть довольно разнообразными (Рис. 2.7).
Медианой является средний по порядку член ряда, получающегося при упорядочении исходной последовательности.
Упорядочим последовательность отсчетов в рабочей выборке
{y1, y2, …., yn}
по возрастанию, ее медианой будет тот элемент выборки, который займет центральное положение в последовательности.
Полученное таким образом число и является результатом медианной фильтрации для центральной точки окна:
X* = med (y1, y2, …., yn).
Пример
Пусть выборка имеет вид {110, 99, 45, 250, 158, 104, 75}, а элемент 250, расположенный в ее центре, соответствует текущей точке фильтрации. Большое значение яркости в этой точке кадра может быть результатом воздействия импульсной точечной помехи. Упорядоченная по возрастанию выборка имеет вид: {45, 75, 99, 104, 110, 158, 250}, следовательно, в соответствии с применяемым алгоритмом получаем X*=104 – медиана. Влияние соседних отсчетов на результат фильтрации привело к игнорированию импульсного выброса яркости, что следует рассматривать как положительный эффект фильтрации.
Зависимость качества работы медианного фильтра от размера апертуры
Если импульсная помеха не является точечной, а покрывает некоторую локальную область, то она также может быть подавлена. Это произойдет, если размер этой локальной области будет меньше, чем половина размера апертуры медианного фильтра. Поэтому для подавления импульсных помех, поражающих локальные участки изображения, следует увеличивать размеры апертуры.
Рассмотрим некоторые примеры влияния медианного фильтра на конкретные виды сигналов (рисунки 2.8 – 2.13).
Рис. 2.8. Импульсный шум – одиночный импульс
Рис. 2.9. Импульсный шум – сдвоенный импульс
Рис. 2.10. Импульсный шум – строенный импульс: размер окна L = 5, длительность импульса равна 3 (т.е. больше половины L)
При использовании апертуры с длиной 5 медианный фильтр не может подавить строенный импульс.
Рис. 2.11. Ступенчатый сигнал
Это свойство медианных фильтров широко используется, когда необходимо подавить шум и при этом сохранить контурную часть изображений. Линейные сглаживающие фильтры при этом малоэффективны.
Рис. 2.12. Треугольный сигнал
Рис. 2.13. Пилообразный сигнал
Это свойство медианных фильтров также широко используется, когда необходимо подавить шум и при этом сохранить контурную часть изображений.
