- •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
- •Цель работы
- •Порядок выполнения работы
- •Методические рекомендации
- •Методические рекомендации
- •Особенности текстурной памяти.
- •Особенности линейной текстурной памяти.
- •Защита лабораторной работы
- •Правила оформления отчета
- •Оформление титульного листа
- •Библиографический список
Двумерный медианный фильтр
Цифровые изображения представляются набором чисел на квадратной решетке. Определим двумерный медианный фильтр с окном W:
X*(n1,n2)= med[y(n1+k1, n2+k2) : (k1,k2) из W].
Могут использоваться различные формы апертур фильтра, например линейные сегменты, квадраты, круги, кресты, квадратные рамки, кольца.
Некоторые виды апертур фильтра показаны на рис. 2.7.
Приведенное определение медианных фильтров не объясняет способа нахождения выходного сигнала вблизи конечных и пограничных точек. Поэтому получающееся изображение неопределенно вблизи краев, причем полоса неопределенности тем шире, чем больше размер окна. Несмотря на эту неопределенность, двумерные медианные фильтры широко применяются на практике.
Обычно двумерный медианный фильтр обеспечивает более эффективную работу, чем последовательно примененные горизонтальный и вертикальный одномерные медианные фильтры.
Рассмотрим прямоугольный двумерный медианный фильтр.
Определим прямоугольный двумерный медианный фильтр с окном из L=(2M+1)(2N+1) элементов:
Для X*[i,j] существует (L-1)/2 меньших или равных элементов и столько же больших или равных элементов.
Пространственные фильтры выделения границ областей
Линейные методы выделения границ областей. Лапласиан
Рассмотрим применение двумерной второй производной в задачах выделения границ областей. Подход сводится к выбору дискретной формулировки второй производной и к последующему построению маски фильтра, основанной на данной формулировке. Рассматриваться будут изотропные фильтры, отклик которых не зависит от направления неоднородностей на обрабатываемом изображении. Другими словами, изотропные фильтры являются инвариантными к повороту, в том смысле, что поворот изображения и последующее применение фильтра дает тот же результат, что и первоначальное применение фильтра с последующим поворотом результата.
Простейшим изотропным оператором, основанным на производных, является лапласиан (оператор Лапласа), который в случае функции двух переменных f(x,y) определяется как
В цифровой обработке изображений вторая частная производная по координате х в дискретном виде рассчитывается по формуле
(2.2)
аналогично для производной по у
(2.3)
Дискретная формулировка двумерного лапласиана получается объединением этих двух составляющих:
.
Это уравнение может быть реализовано с помощью маски, представленной на рис. 2.14 а, которая дает изотропный результат для поворотов на углы, кратные 90°.
Рис. 2.14. Маски фильтров: а – маска фильтра, используемая для реализации дискретного лапласиана; б – маска, используемая для расширения этого уравнения путем добавления диагональных членов.
Диагональные направления могут быть включены в формулу дискретного лапласиана добавлением еще двух членов — по одному для каждого из диагональных направлений. Вид каждого из них такой же, как в уравнении (2.2) или (2.3), но указываются координаты точек, расположенных по диагоналям. Поскольку каждая диагональная добавка включает член -2f(х,у), то суммарный вычитаемый из суммы член составит -8f(x,у). Маска, соответствующая такому новому определению, представлена на рис. 2.14, б. Такая маска является изотропной для поворотов на углы, кратные 45°.
Поскольку оператор Лапласа по сути является второй производной, его применение подчеркивает разрывы уровней яркостей на изображении и подавляет области со слабыми изменениями яркостей. Это приводит к получению изображения, содержащего сероватые линии на месте контуров и других разрывов, наложенные на темный фон без особенностей. Но фон можно «восстановить», сохранив при этом эффект повышения резкости, достигаемый лапласианом. Для этого достаточно сложить исходное изображение и лапласиан:
,
где b – весовой коэффициент; L – преобразование оператором Лапласа.
Необходимо помнить, какое из определений лапласиана было использовано. Если использовалось определение, основанное на применении отрицательных центральных коэффициентов, тогда для получения эффекта повышения резкости изображение-лапласиан следует вычитать, а не прибавлять. Таким образом, обобщенный алгоритм использования лапласиана для улучшения изображений сводится к следующему:
Здесь ω(0,0) – значение центрального коэффициента маски лапласиана.
