Введение 3
1 Программное и методическое оснащение элективного курса 6
1.1 Роль элективного курса «Обработка изображений и компьютерное зрение » в предпрофильном и профильном обучении в средней образовательной школе 6
1.2 Реализация компьютерного зрения с помощью библиотеки OpenCV... 7
1.3 Структура элективного курса 9
1.4 Возможности библиотеки OpenCV 13
1.5 Установка библиотеки OpenCV для Windows и Linux 14
2 Основы работы с OpenCV 19
2.1 Работа с изображением 19
2.2 Работа с видео 36
3 Машинное зрение в OpenCV 42
3.1 Поиск объекта по цвету 42
3.2 Каскады Хаара 45
Заключение 47
Библиографический список 48
Компьютерное зрение как одна из научных дисциплин берет свое начало в конце 1970-х годов. Основной целью компьютерного зрения является автоматизация процессов работы с цифровыми изображениями и видео, в том числе распознавание и их обработка. Появление данной дисциплины привело к ее обширному применению во множестве областей, которые так или иначе связаны с обработкой изображений, с распознаванием образов в различных системах - бытовых, промышленных, военных. Так, например, одним из важных прорывов в области компьютерного зрения, является автоматизация процесса вождения.
Актуальность темы исследования обуславливается тем, что в настоящее время в мире быстроразвивающихся вычислительных систем и информационных технологий растет и популярность систем роботизации и автоматизации. Это порождает потребность в методах эффективной обработки поступающей информации, в частности видео и изображений.
Повсеместно большое внимание в мире уделяется системам, использующим машинное зрение как основной источник информации. Вследствие чего нужны не только новые алгоритмы обработки, но и люди, способные их разрабатывать и контролировать.
Для решения различных задач практической направленности используются системы, работающие по принципу компьютерного зрения: это системы видеонаблюдения, управление процессами, организация информации. Существует много способов создать данный механизм, но наиболее популярным является использование библиотеки OpenCV (Open Source Computer Vision Library). Данная библиотека является наиболее популярной для работы с компьютерным зрением и имеет открытый исходный код. В ее состав входит большое количество функций, созданных для работы с изображениями и видеопотоками в режиме реального времени, а так же она включает в себя алгоритмы интерпретации изображений, калибровку камеры по заданному эталону, устранение оптических искажений, определение сходства, анализа перемещения объектов, сегментации объектов, распознавания жестов и тд. Библиотека реализована на языках C/C++, имеются обертки для вызова функций из языка Python, также имеется возможность работать с OpenCV из C#, VB, VC++, IronPython. Ведется активное развитие в Java- интерфейс для работы с библиотекой на мобильных платформах. Разработчики обеспечивают стабильную работу на базе операционных систем семейства Windows, Linux, MacOS, Android и iOS.
В данной работе предполагается продемонстрировать использование некоторых базовых функций, а также разработать материалы для элективного курса, позволяющего ученикам не только получить ознакомительные сведения о библиотеке, но и научиться самостоятельно применять ее, также подробно описать этап предварительной подготовки программной инфраструктуры с целью последующего использования библиотеки OpenCV на базе операционной системы Windows в среде PyCharm на языке Python.
Цель данной работы: разработать материалы элективного курса «Обработка изображений и компьютерное зрение».
Задачи выпускной квалификационной работы:
1. в ходе изучения литературы определить роль компьютерного зрения в системе образования;
2. рассмотреть этапы подготовки инфраструктуры к работе;
3. продемонстрировать использование функций, являющихся базовыми для библиотеки OpenCV на простых практических примерах, которые возможно включить в программу элективного курса
Объектом исследования является компьютерное зрение на базе библиотеки OpenCV.
Предмет исследования - проведение элективных курсов по компьютерному зрению для школьников профильного и предпрофильного обучения.
Практическая значимость данной работы заключается в том, что разработанные материалы элективного курса можно будет применять в школах при проведении элективных занятий, а также в секциях дополнительного образования, связанных с программированием и образовательной робототехникой.
Работа состоит из введения, трех глав, заключения и списка литературы, а также содержит 1 таблицу, 45 рисунков, список литературы включает в себя 14 наименований. Общий объем работы 49 страниц.
Содержание дипломной работы: Первая глава посвящена программному и методическому оснащению элективного курса, составлению примерного плана занятий. Во второй главе рассматриваются основные методы работы библиотеки OpenCV с изображениями и видео. Третья глава посвящена разбору возможных примерных практических задач для машинного зрения.
Наука, связанная с компьютерным зрением, быстро развивается и набирает обороты. Уже сейчас решении многие задачи, которые казались фантастическими десятилетие назад. Системы, основанные на процессах компьютерного зрения справляются с автоматизацией производства, видеонаблюдением, анализом снимков, но, тем не менее, компьютерному зрению все еще далеко до человеческого. И именно новому поколению придется заниматься разработкой новых программ и усовершенствованием старых.
В результате проведенной работы по созданию материалов элективного курса были выполнены следующие задачи:
• Изучена литература, позволяющая составить мнение о роли компьютерного зрения в системе образования;
• Рассмотрены этапы подготовки рабочей среды;
• Продемонстрированы базовые функции библиотеки OpenCV.
Таким образом, можно сделать вывод, что поставленные задачи были выполнены, а цель разработать материалы элективного курса «Обработка изображений и компьютерное зрение» была достигнута. При этом данные материалы можно дополнять и обогащать, добавлять больше практических заданий, связанных с машинным зрением, в программированием роботов.
Данная выпускная квалификационная работа освещает далеко не все аспекты компьютерного зрения и рассматривает не все функции, которыми обладает библиотека OpenCV. Например, остаются нетронутыми темы повышения качества распознавания объектов. Данная тема заслуживают более подробного изучения в рамках новых работ.