- •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.22)
Оптимальные уровни
яркости
определяются из условия
, (3.23)
откуда
, (3.24)
Очевидно, что для
любого фиксированного t
.
Доказывается, что
оптимальный порог
,
определяемый выражением
, (3.25)
совпадает со среднеарифметическим значением яркости объекта и фона
. (3.26)
Моментный подход.
Моментный подход
основан на моментах изображения
до
порядка включительно:
,
, (3.27)
где
– число интервалов значений яркости в
сегментированном изображении. Оптимальным
считается порог, обеспечивающий равенство
моментов сегментированного и исходного
изображений. При двухуровневой обработке
моменты отсегментированного изображения
имеют вид
,
, (3.28)
где
,
– уровни яркости сегментированных
областей. Алгоритм сводится к решению
системы уравнений относительно
вспомогательных переменных
,
:
,, (3.29)
а
также к решению квадратного уравнения
,
дающего значения представительных
уровней яркости
,
,
и подстановке их в уравнения:
,
.
Значение позволяет определить оптимальный порог , минимальный из всех тех, которые удовлетворяют неравенству
. (3.30)
Варианты индивидуальных заданий
В работе изучаются следующие методы сегментации изображения:
Выбор по дискретному критерию.
Выбор по среднему контрасту.
Выбор по среднему градиенту.
Выбор на основе простых статистик.
Параметрическая аппроксимация.
Моментный подход.
Варианты заданий
№ варианта |
Номера методов |
1 |
1 | 2 | 3 |
2 |
1 | 4 | 5 |
3 |
2 | 5 | 6 |
4 |
2 | 3 | 4 |
5 |
3 | 5 | 6 |
6 |
3 | 4 | 1 |
7 |
4 | 5 | 6 |
8 |
4 | 3 | 1 |
9 |
5 | 2 | 1 |
10 |
5 | 3 | 4 |
Отчет по практической работе
Отчет по практической работе должен соответствовать порядку выполнения работы, содержать конспект изученного материала и схемы алгоритмов согласно индивидуальному варианту.
Лабораторная работа №1. Этапы разработки CUDA- приложения
Цель работы
Целью работы является закрепление теоретических знаний и приобретение начальных практических навыков в использовании технологии CUDA.
Порядок выполнения работы
На основании данных о графической карте, полученных на практическом занятии, выбрать оптимальный размер блока потоков.
Разработать схему алгоритма для решения задачи согласно индивидуальному варианту.
Написать программу на графическом процессоре при выбранном оптимальном размере блока потоков.
Программу на графическом процессоре реализовать для разного размера блока потоков (минимальный, оптимальный и максимальный размеры).
