- •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
- •Порядок выполнения работы
- •Методические рекомендации
- •Методические рекомендации
- •Особенности текстурной памяти.
- •Особенности линейной текстурной памяти.
- •Защита лабораторной работы
- •Правила оформления отчета
- •Оформление титульного листа
- •Библиографический список
Основы пространственной фильтрации
Пространственные фильтры изменяют значения пикселя в зависимости от изменений яркости световой интенсивности его соседних пикселей. Соседние пиксели определяются исходя из размера матрицы, или маски, центр которой приходится на рассматриваемый пиксель.
В случае матрицы 3×3, как показано на рис. 2.1, значение центрального пикселя (показан сплошной заливкой) устанавливается в зависимости от значений восьми окружающих его пикселей (показаны штриховкой).
Рис. 2.1. Восьмисвязная окрестность
Некоторые локальные преобразования оперируют одновременно как со значениями пикселей в окрестности, так и с соответствующими им значениями некоторой матрицы, имеющей те же размеры, что и окрестность. Такую матрицу называют фильтром, маской, ядром. Значения элементов матрицы принято называть коэффициентами.
Схема пространственной фильтрации
Процесс основан на простом перемещении маски фильтра от точки к точке изображения; в каждой точке (х, у) отклик фильтра вычисляется с использованием предварительно заданных связей. В случае линейной пространственной фильтрации отклик задается суммой произведений коэффициентов фильтра на соответствующие значения пикселей в области, покрытой маской фильтра. Для маски 3×3 элемента, показанной на рис. 2.2, результат (отклик) R линейной фильтрации в точке {х, у) изображения составит
что, как видно, есть сумма произведений коэффициентов маски на значения пикселей непосредственно под маской.
Рис. 2.2. Схема пространственной фильтрации
Фильтрация изображения с помощью фильтра размерами m×n задается выражением общего вида:
нелинейные пространственные фильтры
также работают по окрестности. Схема
действий операции нелинейной фильтрации
зачастую зависит от значений элементов
анализируемой окрестности и не обязательно
должна использовать коэффициенты
линейной комбинации.
Сглаживающие пространственные фильтры
Сглаживание изображений локальным усреднением
Выход (отклик) простейшего линейного сглаживающего пространственного фильтра есть среднее значение элементов по окрестности, покрытой маской фильтра. Заменой исходных значений элементов изображения средними значениями по маске фильтра достигается уменьшение «резких» переходов уровней яркости. Поскольку случайный шум как раз характеризуется резкими скачками яркости, наиболее очевидным применением сглаживания является подавление шума. Однако контуры, которые обычно представляют интерес на изображении, также характеризуются резкими перепадами яркостей. Поэтому негативной стороной применения сглаживающих фильтров является размывание контуров, т. е. его расфокусировка.
Рис. 2.3. Маски сглаживающих фильтров
На рис. 2.3 представлены две маски сглаживающих фильтров по окрестности 3×3. Постоянный множитель перед каждой из масок равен единице, деленной на сумму значений коэффициентов, так как это необходимо для нормировки:
Вторая маска дает так называемое взвешенное среднее. Этот термин применяется, чтобы показать, что значения элементов умножаются на разные коэффициенты, что позволяет присвоить им как бы разные «важности» (веса) по сравнению с другими. Коэффициент в центре маски имеет самое большее значение (вес), что придает соответствующему элементу большую важность при вычислении среднего. Значения остальных коэффициентов в маске уменьшаются по мере удаления от центра маски. Диагональные члены по сравнению с ортогональными расположены от центра дальше и, таким образом, «весят» меньше, чем ближайшие соседи центрального элемента. Основная стратегия, заключающаяся в присвоении центральному пикселю наибольшего веса, а остальным – обратно пропорционально их расстоянию, имеет целью уменьшение расфокусировки при сглаживании.
Обобщенная формула простейшего линейного сглаживающего пространственного фильтра выглядит следующим образом:
Достоинством простейшего линейного сглаживающего пространственного фильтра является его высокое быстродействие за счет распараллеливания вычислений. Недостатком таких фильтров является неадаптируемость их к характеру изображения в окне, что приводит к размыванию границ объектов.
