Программирование графики и оконных интерфейсов на языке С++

Отчетность: 
зачёт
Тип: 
по выбору
Часов: 
32
Семестр: 
архив

Спецкурс изучает возможности графического программирования и анализа изображений с использованием Windows API и библиотеки OpenCV.

Рассматривается интерфейс приложений с использованием Windows GDI и OpenCV.

Исследуются традиционные методы обработки изображений с использованием OpenCV, а также методы морфологического анализа изображений, разрабатываемые на кафедре.

Курс может быть полезен студентам других кафедр для визуального моделирования различных физических процессов.

Программа

  • Приложения и проекты Windows Application, графические элементы управления.
  • Растровая и векторная графика, использование библиотеки DIBAPI для обработки изображений.
  • OpenCV Введение, Загрузка изображений.
  • Вывод видео, захват и запись видео, библиотека videoInput.
  • Обработка изображения – сглаживание, изменение размеров.
  • Типы данных OpenCV, матрица, сохранение данных в XML.
  • Генерация случайных чисел, преобразования изображения Erode Dilate, функция cvMorphologyEx().
  • Заливка изображения, альфа смешивание, пороговое преобразование.
  • Поиск объекта по цвету.
  • Свертка, операторы Собеля и Лапласа, детектор границ Canny.
  • Преобразование Хафа (Hough Transform), интегральное изображение.
  • Трансформация изображения — аффинные преобразования, гомография.
  • Типы данных OpenCV — хранилище памяти, последовательность.
  • Нахождение контуров и операции с ними, Сравнение контуров.
  • Поиск объекта по шаблону (Template matching).
  • Морфологический анализ изображений.

Литература

  1. Н.Н. Мартынов. Программирование для Windows на C/C++
  2. Adrian Kaehler, Gary Bradski Learning OpenCV 3, O'Reilly Media, 2015
  3. Widodo Budiharto Modern Robotics with OpenCV Science Publishing Group 2014
  4. http://ru.wikipedia.org/wiki/Цветовая_модель
  5. И.М. Журавель «Краткий курс теории обработки изображений»
  6. http://ru.wikipedia.org/wiki/Оператор_Собеля
  7. http://ru.wikipedia.org/wiki/Выделение_границ
  8. http://ru.wikipedia.org/wiki/Преобразование_Хафа
  9. http://en.wikipedia.org/wiki/Summed_area_table
  10. http://ru.wikibooks.org/wiki/Аффинные_преобразования
  11. http://en.wikipedia.org/wiki/Chain_code
  12. Shiju PK, “Edge Based Template Matching
  13. http://en.wikipedia.org/wiki/Template_matching