Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Продвинутое отслеживание теннисного мяча на Raspberry Pi с OpenCV

ПРИМЕЧАНИЕ: Это продвинутое руководство, не подходит для новичков в Linux.

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

Предварительные требования

Шаг 1: Первоначальная настройка

  1. Подключите Pi к клавиатуре, мыши, веб-камере, Ethernet или Wi‑Fi адаптеру, HDMI-дисплею и питанию.
  2. Включите и загрузитесь в графический интерфейс Raspbian.
  3. Откройте терминал и установите OpenCV. Следуйте подробному руководству Тревора Эпплтона для подтверждения установки (Установка OpenCV на Raspberry Pi).
  4. Передайте файл bdtct.py в домашнюю директорию Pi через scp или USB-флешку.

Шаг 2: Запуск кода отслеживания

  1. В терминале Pi перейдите в папку с bdtct.py.
  2. Выполните скрипт:
    sudo python bdtct.py
  3. Должно появиться пять окон: исходное видео, вид «tracking» и три панели настройки HSV.
  4. Покажите теннисный мяч (желтый предпочтительно) веб-камере.
  5. Настройте ползунки «HueComp», «SatComp» и «ValComp», пока пиксели мяча не станут единственной белой областью в окне «closing». Запишите эти значения для будущего использования, отредактировав bdtct.py.

Шаг 3: Понимание алгоритма

Откройте bdtct.py в любимом редакторе, чтобы увидеть следующий рабочий процесс:

  1. Захват видео с камеры по умолчанию: cap = cv2.VideoCapture(-1)
  2. Изменение размера кадров до 320×240 для повышения частоты кадров на Pi.
  3. Создание интерактивных окон с ползунками min/max для Hue, Saturation и Value.
  4. Конвертация каждого кадра из BGR в HSV: hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV).
  5. Разделение HSV на отдельные каналы.
  6. Пороговое преобразование каждого канала на основе диапазонов ползунков для получения бинарных масок.
  7. Комбинирование трех масок логическим И для изоляции пикселей мяча.
  8. Применение гауссова размытия для сглаживания результата.
  9. Использование cv2.HoughCircles для обнаружения круглых форм.
  10. Отрисовка обнаруженных кругов обратно на исходном кадре для визуализации.

Для более глубокого понимания см. полную документацию проекта.

Производственный процесс

  1. DIY солнечная метеостанция на Raspberry Pi
  2. Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
  3. Сборка уличной метеостанции на Raspberry Pi 2 и ADS‑WS1
  4. Точный мониторинг температуры в серверной на Raspberry Pi
  5. Neon: динамичный открытый/закрытый знак мейкерспейса на Raspberry Pi 2 — Эль-Пасо, TX
  6. Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
  7. Создание профессионального универсального пульта на Raspberry Pi с LIRC
  8. Преобразование RF в DC с Raspberry Pi: сборка и отладка детектора огибающей
  9. Cycle Chaser: превратите свой велосипед в ночной световый шоу с Raspberry Pi
  10. Практическое руководство: real-time панорамирование/наклон для отслеживания лиц на Raspberry Pi