В данном проекте я совместил детектор распознавания лиц и следящую систему.
Вкратце суть проекта: вебкамера, установленная на поворотном механизме подключена к компьютеру под управлением операционной системы Windows и с установленным программным обеспечением OpenCV. Если программа обнаруживает в поле зрения вебкамеры лицо, то вычисляется центр лица. Координаты X и Y передаются в контроллер Arduino, который подключен к компьютеру по USB. В свою очередь, контроллер Arduino по принятым командам управляет двумя сервомоторами: по координате X и по координате Y, т.о. обеспечивается следящая система.
Библиотеку OpenCV (Open Source Computer Vision Library) можно
скачать здесь. Библиотека мультиплатформенная, в настоящее время существует под следующие ОС: Windows, Linux, Android, Mac OS и даже iOS. Библиотека обеспечивает обработку изображений в режиме реального времени. Написана на С/С++.
Т.о. данный проект представляет собой смесь soft и hard решений. Обработка изображения ведется на компьютере, а управление серво осуществляется при помощи контроллера.
Итак, что я использовал для проекта:Программное обеспечение:Arduino IDE 1.0 for Windows
OpenCV 2.3.1 SuperPack For Windows
Microsoft Visual C++ 2010 Express SP1
Serial C++ Library for Win32 (от Thierry Schneider)
Железо:компьютер с ОС Windows 7 SP1
Arduino Uno или совместимый + БП
2 сервопривода
USB вебкамера
Итак, поехали.
Шаг 1. Установка программного обеспечения1) Если у вас ОС Windows, то скачайте файл
OpenCV-2.3.1-win-superpack.exe (или более позднюю версию) и установите библиотеку.
2) Скачайте и установите Microsoft Visual C++ 2010 Express. Если у вас 64-битная версия Windows, то также необходимо будет скачать Windows SDK (но для 64 версии могут быть проблемы, я так и не смог заставить работать OpenCV под Windows 7 x64).
Процесс настройку OpenCV для Visual C++ читайте на официальном сайте.
Шаг 2. Крепление камеры и сервомоторов
Я не стал делать конструкцию "долговечной", потому как после достижения конечной цели я все разбираю для следующего проекта.
Вебкамеру я прикрепил к сервомотору оси Х, а его, в свою очередь закрепил на сервомоторе оси Y. И всю эту конструкцию закрепил в струбцине от "третьих рук".
Шаг 3. ПодключениеПодключение сервомоторов:Желтый вывод от серво оси Х подключается к выводу 9 контроллера Arduino
Желтый вывод от серво оси Y подключается к выводу 10 контроллера Arduino
Красный вывод Vcc от серво подключается к выводу 5V
Черный вывод GND от серво подключается к выводу GND контроллера Arduino
Подключение вебкамеры:Вебкамера подключается к компьютеру по USB интерфейсу. Программа C++ идентифицирует вебкамеру по номеру USB-порта. Возможно, потребуется указать порт в программе.
Подключение контроллера Arduino UNO:Контроллер также подключается к компьютеру через USB-интерфейс. В системе появляется виртуальный COM-порт, который необходимо внести в код программы на C++.
Вы не можете скачивать файлы с нашего сервера файлы проекта.
Источник:
http://www.instructables.com/