- •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
- •Порядок выполнения работы
- •Методические рекомендации
- •Методические рекомендации
- •Особенности текстурной памяти.
- •Особенности линейной текстурной памяти.
- •Защита лабораторной работы
- •Правила оформления отчета
- •Оформление титульного листа
- •Библиографический список
Защита лабораторной работы
Защита лабораторной работы заключается в демонстрации работающей программы и сдаче печатного отчета, содержащего все необходимые разделы согласно требованиям данного методического пособия. Студент должен владеть теоретическими знаниями, свободно комментировать все строчки кода программы и уметь формулировать выводы о проделанной работе.
Правила оформления отчета
Отчёт по лабораторным работам должен содержать следующие структурные части:
титульный лист (1 стр.);
содержание (1 стр.);
цели и задачи лабораторной работы (1 стр.);
формулировки индивидуального задания;
схему алгоритма;
перечень библиотек и основных функций, использованных в программе;
результаты работы программы в распечатанном виде;
анализ полученных результатов;
выводы о проделанной работе;
текст программы с комментариями;
библиографический список;
приложения.
Отчёт выполняется в печатном виде с одной стороны листа формата А4 (210х297 мм), шрифтом Times New Roman 14 пт.; 1,5 интервалом. Приложения оформляются как структурные части отчёта. Каждое приложение начинается с нового листа. При ссылке на приложение пишут слово “приложение” полностью и указывают номер приложения, например, “…в приложении 1”. При наличии только одного приложения оно не нумеруется. Нумерация всех листов отчёта с приложениями должна быть сквозная.
Оформление титульного листа
Министерство
науки и образования Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б.Н.Ельцина»
Кафедра «Автоматизированные системы управления»
Оценка работы_________________
ОТЧЁТ по лабораторной работе №1
«Этапы разработки CUDA-приложения»
Дисциплина «Цифровая обработка изображений»
Преподаватель: Круглов В.Н.
Студент(ка) гр. РИМ-1503 Иванов В.П.
2011
Библиографический список
Боресков А.В. Основы работы с технологией CUDA /А.В. Боресков, А.А. Харламов. М.: Из-во ДМК Пресс, 2010. 232 с.
Гонсалес Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс; пер. с англ. под ред. П.А. Чочиа М.: ТЕХНОСФЕРА, 2005. 1070 с.
. Цифровые системы автоматизации и управления / Г. Олссон, Дж. Пиани. СПб.: 2001 г. Невский Диалект, 2001. 557с.
Дворкович А.В. Цифровая обработка телевизионных и компьютерных изображений / под ред. Ю.Б. Зубарева, В.П. Дворковича – М.:Международный центр научной и технической информации, 1997. 212 с.
Нуссбаумер Г. Быстрое преобразование Фурье и алгоритмы вычисления сверток / Г. Нуссбаумер; пер. с англ. под ред. В.М. Амербаева, Т.Э. Кренкеля. – М.: Радио и связь, 1985. 248 с.
Оппенгейм А.В. Цифровая обработка сигналов / А.В. Оппенгейм, Р.В. Шафер; пер. с англ. под ред. С.Я. Шаца. – М.: Связь, 1979.
Прэтт У. Цифровая обработка изображений: в 2 т. / У. Прэтт; пер. с англ. под ред. Д.С. Лебедева. – М.: Мир, 1982. 790 с.
Рабинер Л. Теория и применение цифровой обработки сигналов /Л. Рабинер; пер. с англ. под ред. Ю.Н. Александрова. – М: Мир, 1978. 848 с.
Системы технического зрения: справочник / под ред. В.И. Сырямкина, В.С.Титова – Томск.: МГП «РАСКО», 1993. 367 с.
Хорн Б. Зрение роботов / Б. Хорн; пер. с англ. под ред. Е.И. Кугушева, Ю.А.Садова. – М.: Мир, 1989. 488 с.
Хуанг Т.С. Быстрые алгоритмы в цифровой обработке изображений / Т.С.Хуанг; пер. с англ. под ред. Л.П. Ярославского. – М.: Радио и связь, 1984. 220 с.
Цифровая обработка изображений в информационных системах: учеб. пособие / И.С. Грузман, В.С. Киричук, В.П. Косых, Г.И. Перетягин, А.А. Спектор. – Новосибирск: НГТУ, 2002. 168 с.
Шапиро Л. Компьютерное зрение / Л. Шапиро, Дж. Стокман; пер. с англ. под ред. С.М.Соколова. – М.: БИНОМ. Лаборатория знаний, 2006. 752 с.
Яне Б. Цифровая обработка изображений / Б. Яне; пер. с англ. под ред. А.М.Измайловой. – М.: ТЕХНОСФЕРА, 2007.
AMD. GPU and CPU Technology for Accelerated Computing. Режим доступа: http://www.amd.com/us/products/technologies/stream-technology (дата обращения 01.10.2010).
Buck I. GPU Gems: Programming techniques, tips and tricks for real-time graphics. I. Buck, T. Purcell. Режим доступа: http://developer.nvidia.com/object/ gpu_gems_home.html (дата обращения 01.10.2010).
GPGPU. General-Purpose Computation on Graphics Hardware. Режим доступа: http://gpgpu.org (дата обращения 01.10.2010).
GPGPU. Использование видеокарт для вычислений Режим доступа: http://www.gpgpu.ru, (дата обращения 01.10.2010).
Halfhill Tom R. Parallel processing with CUDA // Micriprocessor report, 2008. Режим доступа: http://www.nvidia.com/docs/IO/55972/220401_Reprint.pdf . (дата обращения 01.10.2010).
Harris M. Mapping computational concepts to GPUs. In GPU Gems 2, Pharr M., (Ed.). AddisonWesley, Mar. 2005, ch. 31. P. 493–508.
Harris M., Buck I. GPU flow control idioms. In GPU Gems 2, Pharr M., (Ed.). Addison Wesley, Mar. 2005, ch. 34. P. 547–555.
Hillesland K. E., Molinov S., Grzeszczuk R. Nonlinear optimization framework for image-based modeling on programmable graphics hardware. ACM Transactions on Graphics 22, 3 (July 2003), 925–934.
Owens J. D. GPU Computing // Proceedings of the IEEE. May 2008, N. 5. P. 87–899. Режим доступа: http://graphics.idav.ucdavis.edu/publications/ print_pub?pub_id=936 (дата обращения 01.10.2010).
Owens J. D. Survey of General-Purpose Computation on Graphics Hardware // The Eurographics Association and Blackwell Publishing, 2007. N. 1.P. 80–113/ Режим доступа: http://graphics.idav.ucdavis.edu/func/return_pdf?pub_id=907 (дата обращения 01.10.2010).
NVIDIA. CUDA in Action. Режим доступа: http://www.nvidia.com/object /cuda_home_new.html (дата обращения 01.10.2010).
NVIDIA. GPU Gems 2: Programming techniques for high-performance graphics and general-purpose computation. Режим доступа: http://developer.nvidia.com/ object/gpu_gems_2_home.html (дата обращения 01.10.2010).
NVIDIA. GPU Gems 3. Режим доступа: http://news.developer.nvidia.com/2008/12/gpu-gems-3-now-online.html (дата обращения 01.10.2010).
Owens J. D. Computer graphics on a stream architecture // A dissertation for the degree of doctor of philosophy in Computer Science, 2002. 178 p. Режим доступа: http://graphics.stanford.edu/papers/jowens_thesis/jowens_thesis.pdf (дата обращения 01.10.2010).
Purcell J. T. Ray tracing of stream processor. A dissertation for the degree of doctor of philosophy// Stanford university, 2004. 125 p. Режим доступа: http://graphics.stanford.edu/papers/tpurcell_thesis/tpurcell_thesis.pdf (дата обращения 01.10.2010).
Sanders J. CUDA by Example: An Introduction to General-Purpose GPU Programming. / J.Sanders, E. Kandrot. July 2010. 273 p. Режим доступа: http://developer.download.nvidia.com/ books/cuda-by-example/cuda-by-example-sample.pdf (дата обращения 01.10.2010).
Sonka M. Image Processing, Analysis, and Computer Vision / M. Sonka, V.Hlavak, R. Boyle NY: PWS Publishing, 199. 770 p.
Stratton J.A. CUDA: an Efficient Implementation of CUDA Kernels on Multi-cores. J.A. Stratton, S. S. Stone, W. Wen-mei, W.W. Hwu // University of Illinois at Urbana-Champaign, 2008. Режим доступа: http://www.crhc.uiuc.edu/IMPACT/ ftp/report/impact-08-01-mcuda.pdf. (дата обращения 01.10.2010).
Учебное издание
Технология CUDA в цифровой обработке изображений
Доросинский Леонид Григорьевич
Круглов Василий Николаевич
Папуловская Наталья Владимимровна
Чирышев Андрей Владимирович
Редактор И.Г. Южакова
Компьютерный набор авторский
Подписано в печать 29.12.2011 Формат 60х84 1/16
Бумага писчая Плоская печать Усл. печ. л. 11,52
Уч. – изд. л. 9,79 Тираж 50 экз. Заказ
Редакционно-издательский отдел УрФУ
620002, Екатеринбург, ул. Мира, 19
rio@mail.ustu.ru
Ризография НИЧ УрФУ
620002,
Екатеринбург, ул. Мира, 19
