Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Geavanceerde Tafeltennisbal Tracking met OpenCV op Raspberry Pi

LET OP: Dit is een geavanceerde tutorial, niet geschikt voor Linux-beginners.

In deze gids laten we zien hoe u tafeltennisballen – of elk duidelijk zichtbaar cirkelvormig object – kunt detecteren en tracken met OpenCV op een Raspberry Pi. De techniek is waardevol voor robotica-projecten, sportanalyse of hobby-experimenten.

Vereisten

  • Raspberry Pi met de nieuwste Raspbian (download op https://www.raspberrypi.org/downloads/)
  • USB-webcam compatibel met de Pi
  • Linux-host (Linux Mint 17, Ubuntu, of vergelijkbaar) voor ontwikkeling en bestandsoverdracht
  • Kennis van Debian-gebaseerde systemen

Stap 1: Initiële Setup

  1. Sluit de Pi aan op toetsenbord, muis, webcam, Ethernet of Wi‑Fi-dongle, HDMI-scherm, en voeding.
  2. Schakel in en boot in de Raspbian GUI.
  3. Open een terminal en installeer OpenCV. Volg Trevor Appleton's uitgebreide handleiding om de installatie te bevestigen (OpenCV installeren op Raspberry Pi).
  4. Overdracht bdtct.py naar de home-directory van de Pi via scp of een USB-stick.

Stap 2: De Tracking-code Draaien

  1. Navigeer in de Pi-terminal naar de map met bdtct.py.
  2. Voer het script uit:
    sudo python bdtct.py
  3. Vijf vensters zouden moeten verschijnen: de originele video, een "tracking"-weergave, en drie HSV-aanpassingspanelen.
  4. Houd een tafeltennisbal (geel preferred) voor de webcam.
  5. Pas de "HueComp", "SatComp", en "ValComp"-schuifregelaars aan totdat de pixels van de bal de enige witte regio zijn in het "closing"-venster. Noteer deze waarden voor toekomstig gebruik door bdtct.py te bewerken.

Stap 3: Het Algoritme Begrijpen

Open bdtct.py in uw favoriete editor om de volgende workflow te zien:

  1. Video vastleggen van de standaardcamera: cap = cv2.VideoCapture(-1)
  2. Frames verkleinen naar 320×240 om de framerate op de Pi te verhogen.
  3. Interactieve vensters maken met min/max-schuifregelaars voor Hue, Saturatie, en Value.
  4. Elk frame converteren van BGR naar HSV: hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV).
  5. HSV opsplitsen in aparte kanalen.
  6. Elk kanaal drempelwaarde toepassen op basis van schuifregelaar-ranges om binaire maskers te produceren.
  7. De drie maskers combineren met een logische AND om balpixels te isoleren.
  8. Gaussian blur toepassen om het resultaat glad te maken.
  9. cv2.HoughCircles gebruiken om cirkelvormige vormen te detecteren.
  10. Gedetecteerde cirkels terug tekenen op het originele frame voor visualisatie.

Voor diepere inzichten, zie de volledige projectdocumentatie.

Productieproces

  1. DIY Zonne-energie Weerstation Met Raspberry Pi
  2. Professionele temperatuurbewaking met Raspberry Pi en DS18B20
  3. Een buitenweerstation bouwen met Raspberry Pi 2 en ADS-WS1
  4. Accurate temperatuurbewaking in een serverkast met Raspberry Pi
  5. Neon: Dynamisch open/gesloten makerspace-teken met Raspberry Pi 2 – El Paso, TX
  6. Lijnvolgsensor met Raspberry Pi – Simpele KY-033 deur/lijndetector
  7. Een Professionele Raspberry Pi Universele Afstandsbediening Bouwen met LIRC
  8. RF naar DC Converteren met een Raspberry Pi: Een Envelope Detector Bouwen en Troubleshooten
  9. Cycle Chaser: Uw Fiets Transformeren in een Nachttijd Lichtshow met Raspberry Pi
  10. Real-time Pan/Tilt gezichtsvolging op een Raspberry Pi – Praktische Gids
  11. Een Raspberry Pi-gebaseerde Diefdetector Bouwen – Stapsgewijze Handleiding