Отслеживание объектов на основе формы с помощью OpenCV на Raspberry Pi


Этот проект посвящен обнаружению и отслеживанию объектов на основе формы с помощью OpenCV на одноплатном компьютере Raspberry Pi 4.

В мире компьютерного зрения отслеживание объектов является важнейшей задачей, которая включает в себя мониторинг перемещения определенных объектов с течением времени с помощью камеры. Отслеживание объектов на основе формы — это метод, который распознает и отслеживает объекты на основе их геометрических форм. OpenCV, библиотека компьютерного зрения с открытым исходным кодом, предоставляет широкий спектр функций, которые делают эту форму отслеживания как осуществимой, так и эффективной.

Отслеживание объектов на основе формы с помощью OpenCV на Raspberry Pi

Сочетание этого с Raspberry Pi, компактным и доступным мини-компьютером, известным своей адаптивностью в проектах DIY (сделай сам), создает мощную комбинацию. Запустив OpenCV на Raspberry Pi, как любители, так и профессионалы могут создавать системы слежения в реальном времени без значительных инвестиций в оборудование. От наблюдения и робототехники до интерактивных художественных инсталляций, отслеживание объектов на основе формы с OpenCV на Raspberry Pi предлагает инновационные решения в различных областях.

Необходимые компоненты

  1. Плата Raspberry Pi 4 Model B (или другая) (купить на AliExpress).
  2. Камера для Raspberry Pi (купить на AliExpress).
  3. SD-карта 16/32 ГБ.
  4. Адаптер постоянного тока 5 В, 3 А для RPi.
  5. ЖК-дисплей (опционально).
  6. Мышь и клавиатура (опционально).

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Подключение камеры Raspberry Pi

Raspberry Pi Camera — периферийное устройство, разработанное Raspberry Pi Foundation для использования с серией одноплатных компьютеров Raspberry Pi. Модуль камеры позволяет добавлять возможности видео/фотосъемки в проекты Raspberry Pi.

Для этого проекта мы можем использовать 5-мегапиксельную камеру Raspberry Pi.

Схема подключения камеры к Raspberry Pi

Просто подключите модуль камеры к плате Raspberry Pi 4 с помощью разъема камеры.

Подключение модуля камеры к плате Raspberry Pi 4 с помощью разъема камеры

Чтобы использовать камеру, вам нужно сначала включить модуль камеры. Откройте Raspberry Pi Configuration Tool, введя sudo raspi-configв терминале. Перейдите к Interfacing OptionsCameraи включите его.

Настройка Raspberry Pi, установка библиотек и зависимостей

OpenCV требуется для обнаружения и отслеживания объектов и других задач обработки изображений, присутствующих в коде. Поэтому вам нужно сначала установить OpenCV. Следуйте следующему руководству, чтобы установить OpenCV в вашей системе:

Как установить и настроить OpenCV на Raspberry Pi 4
Следующий шаг — установить picamera. Поэтому устанавливайте его с помощью pip .

Настройка завершена. Теперь мы можем перейти к нашему проекту.

Код Python для Raspberry Pi для отслеживания объектов с помощью OpenCV

Теперь давайте разработаем код Python, который поможет в отслеживании объектов на основе формы с помощью библиотеки OpenCV и камеры Raspberry Pi 4.

Код Python

Откройте Thonny IDE и вставьте следующий код в редактор Thonny. Сохраните этот файл с любым именем, например «Object_Tracking.py», в любом месте.

Вот полный код Python.

Объяснение работы кода

Давайте разберем код на разделы и объясним каждый из них:

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

Здесь определяются константы и переменные, CAMERA_DEVICE_ID - указывается используемая камера, IMAGE_WIDTH и IMAGE_HEIGHT задают разрешение видео, а fps - это переменная числа кадров в секунду.

Эта функция устанавливает разрешение камеры. cap.set() - это метод используется для изменения свойств камеры, где 3 и 4 являются идентификаторами свойств для ширины и высоты соответственно.

Эта функция захватывает кадр с камеры. Если кадр не был успешно захвачен, возникает ошибка.

Эта функция обнаруживает круги в кадре в оттенках серого с помощью преобразования Хафа.

Эта функция обрабатывает кадр, размывая его, преобразуя в оттенки серого и обнаруживая круги.

Функция main() является основной функцией программы. Она инициализирует камеру, устанавливает ее свойства и входит в цикл для захвата, обработки и отображения кадров. Цикл продолжается до тех пор, пока не будет нажата клавиша «Esc». Если возникают какие-либо исключения, они выводятся на печать, и программа переходит к фазе очистки, где все окна OpenCV уничтожаются, а камера освобождается.

Это условие проверяет, выполняется ли скрипт как отдельная программа (не импортируется как модуль). Если true, функция main() выполняется.

Тестирование работы проекта

Теперь нам нужно запустить код для отслеживания объектов на основе формы с помощью OpenCV на Raspberry Pi.

После запуска кода появятся 2 окна. В первом окне будет показано изображение с камеры. Во втором окне будет показан отслеживаемый объект.

Тестирование работы проекта (часть 1)

Во втором окне круглый объект обнаруживается и отслеживается с помощью функции HoughCircles().

Тестирование работы проекта (часть 2)

Вы можете поднести к камере любой круглый предмет. На внешней поверхности круга появится зеленый круг.

Заключение

Подводя итог, можно сказать, что проект объединяет возможности OpenCV в отслеживании объектов на основе формы с компактностью и экономичностью Raspberry Pi 4. Такое сочетание позволяет эффективно контролировать объекты на основе их геометрических форм в режиме реального времени. Это практичное решение для различных приложений, от наблюдения до художественных инсталляций, делая передовое компьютерное зрение доступным как для энтузиастов, так и для профессионалов.

(Проголосуй первым!)
Загрузка...
14 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *