- •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
- •Порядок выполнения работы
- •Методические рекомендации
- •Методические рекомендации
- •Особенности текстурной памяти.
- •Особенности линейной текстурной памяти.
- •Защита лабораторной работы
- •Правила оформления отчета
- •Оформление титульного листа
- •Библиографический список
Дилатация
Операцией, «обратной» к эрозии, является дилатация (dilation), которая определяется следующим образом (рис. 2.21):
. (2.11)
Ричсунок 2.21. Дилатация
Другое представление дилатации имеет вид
, (2.12)
Если рассматривать множество X как объект, а Xс как фон в изображении, то дилатацию объекта можно интерпретировать как эрозию фона:
. (2.13)
Алгебраические свойства дилатации и эрозии
Приведем ряд свойств рассмотренных операций.
Дистрибутивность: дилатация дистрибутивна относительно объединения
, (2.14)
а эрозия – относительно пересечения множеств
. (2.15)
Свойство дистрибутивности с учетом соотношения (2.11) позволяет выполнять операции над X по фрагментам, комбинируя затем результаты посредством объединения или пересечения.
Ассоциативность:
,
(2.16)
. (2.17)
Это чрезвычайно важное свойство, поскольку оно позволяет разлагать сложные структурные элементы в композицию более простых (рис. 2.22). Соответственно, операции со сложными элементами могут быть заменены последовательностью операций с более простыми. Так, эрозию некоего множества X посредством структурного элемента Н можно заменить четырьмя последовательными эрозиями со структурными элементами А, В, С, D (рис.2.22).
Инвариантность к изменению масштаба:
, (2.18)
. (2.19)
Эрозия и дилатация – операции, предназначенные в первую очередь для выявления различных морфологических особенностей изображений с использованием различных структурных элементов. Например, эрозия посредством круга с радиусом R позволяет найти в изображении объекты, минимальный поперечный размер которых превышает 2R.
Если же в качестве структурного элемента взять две точки, смещение между которыми определяется вектором h, эрозия позволит выделить объекты, имеющие соседей в направлении и на расстоянии, заданным этим вектором (рис. 2.23).
Применение морфологической дилатации
Одно из простейших применений дилатации – устранение разрывов линий путем их перекрытия. На рис. 2.24 показано изображение с разорванными символами и результат дилатации исходного изображения по примитиву.
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
Известно, что максимальная длина разрывов составляет два пикселя. Поверх разрывов образовались «мостики».
Применение морфологической эрозии
Одно из простейших применений эрозии состоит в исключении несущественных (по их размерам) деталей на двоичных изображениях. На рис. 2.25 приведено двоичное изображение, состоящее из квадратов с размерами сторон 1, 3, 5, 7, 9 и 15 пикселей.
П
редположим,
что задача состоит в том, чтобы убрать
все квадраты, кроме самых больших. Это
можно сделать путем применения к
изображению операции эрозии по примитиву
несколько меньших размеров, чем объекты,
которые мы желаем сохранить. В этом
примере выбран примитив с размерами
13×13 пикселей. Результат применения
такой эрозии к исходному изображению
показан на рис. 2.25. От самых больших
квадратов остались только фрагменты.
Как видно из рис.2.25, в, можно восстановить
эти три квадрата до их исходных размеров
15×15 путем дилатации полученного
изображения по тому же примитиву, что
использовался при эрозии. Вообще говоря,
дилатация не позволяет полностью
восстанавливать объекты после эрозии.
В данном примере на всех трех изображениях
объекты представляются белыми пикселями
в отличие от черных в предыдущем примере.
На практике используются оба способа
представления. Если не указано иное, в
общем случае действует соглашение, что
«активные» пиксели примитива принимают
те же двоичные значения, что и интересующие
объекты. Изложенные в этом примере идеи
подготавливают основу для морфологической
фильтрации, рассматриваемой в следующем
разделе.
