Аннотация
1. Введение 7
2. Постановка задачи 8
3. О программе 8
3.1. Предназначение 8
3.2. Трудности в выполнении работы 11
3.3. Среда и язык разработки 11
4. Работа с изображениями 12
4.1. Виды изображений 12
4.2. Представление цвета в машинной графике 13
5. Методы реализации 17
5.1. Окно оператора 17
5.2. OpenCv 18
5.2.1. Подключение библиотеки 19
5.2.2. Видеозахват 19
5.2.3. Цифровая обработка 21
5.2.4. Обнаружение объектов 22
5.3. Многопоточность 25
5.4. Вывод кадров 27
5.5. Сбор данных 28
5.6. Передача данных 28
6. Отладка программы 32
7. Заключение 35
8. Список литературы 36
9. Приложение 1 38
Возможность видеть и распознавать объекты - абсолютно естественная и привычная способность человека, однако в мире цифровых технологий человеческий глаз является слишком медленным и неудобным устройством обработки информации. Именно поэтому инженеры пришли к тому, что необходимо обучать компьютер извлекать информацию из картинки, уметь производить отслеживание и классификацию объектов - этим и занимается такая дисциплина как компьютерное зрение.
Основными задачами машинного зрения можно разделить на три блока, первый из которых - это, конечно же, безопасность. В основном сюда относится контроль периметра частной собственности или собственности предприятия, контроль перемещений персонала по предприятию либо контроль наличия регламентированных средств безопасности среди сотрудников (наличие каски на голове).
Второй блок - это учет. В основном объектом детектирования и контроля является товар в магазине или на складе - считывание штрихкодов, распознавание наклеек, подсчет товара и т.д.
Третий блок - контроль качества. В этом случае методы компьютерного зрения могут помочь детектировать брак на производстве или оценить результаты анализов в медицине. Так же, могут решаться и более сложные задачи, связанные, например, с определением позы рабочего и операции, которую он выполняет.
Таким образом, компьютерное зрение во многих системах автоматического управления, а особенно в такой отрасли промышленности, как робототехника, получила большое распространение в качестве основного источника информации об исследуемом объекте, и чем дальше движется развитие техники, тем острее будет ощущаться потребность в новых алгоритмах данной отрасли.
В связи с этим, целью работы стало создание системы, использующей методы библиотеки компьютерного зрения OpenCV, такие как обработка изображений и обнаружение объектов, в качестве обратной связи для созданного в совместном проекте ударного механизма.
Целью данной работы была разработка системы обратной связи с использованием библиотеки компьютерного зрения OpenCV.
В ходе работы были рассмотрены и применены различные методы компьютерного зрения, такие как видеозахват, обработка потока видеоданных, обнаружение движущихся объектов и отрисовка элементов на изображениях. Так же был реализован протокол передачи управляющих команд на микроконтроллер на основе уже существующих интерфейсов, что позволило обеспечить систему устойчивой и простой передачей данных. Для оптимизации работы программы была применена программная многопоточность, разграничивающая процессы компьютерного зрения от процессов вычисления и вывода.