Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Himbeer-Pi-Ball-Tracking

(Hinweis:Dies ist ein Tutorial für Fortgeschrittene, es ist nicht für Linux-Anfänger gedacht.)

In diesem Tutorial zeige ich, wie man Tischtennisbälle mit OpenCV auf Raspberry Pi verfolgt. Es kann verwendet werden, um jedes kreisförmige Objekt zu verfolgen, solange es vor seinem Hintergrund gut zu erkennen ist. Dies kann bei Ballverfolgungsrobotern und ähnlichen Projekten hilfreich sein.

Dinge, die Sie brauchen:

1. Raspberry Pi (mit dem neuesten installierten Raspbian, Sie können es hier herunterladen:https://www.raspberrypi.org/downloads/ Folgen Sie den Installationsanweisungen auf derselben Site)

2. USB-Webcam (testen Sie eine, die Raspi unterstützt)

3. Ein Linux-Host (vorzugsweise Linux Mint/Ububtu ) den ich mit Linux Mint 17 getestet habe.

4. Erfahrung mit Debian-Systemen

Schritt 1:Ersteinrichtung

Anleitung:

1. Stellen Sie Rpi-Verbindungen her:Tastatur, Maus, Webcam, Ethernet- oder WLAN-Dongle, Anzeige über HDMI, Stromversorgung

2. Schalten Sie Ihr Rpi ein

3. Booten Sie in die Raspbian-GUI auf Ihrem Rpi (Raspbian-Boot-to-GUI)

4. Öffnen Sie das Terminal und installieren Sie OpenCV (Folgen Sie der ausgezeichneten Anleitung von Trevor Appleton, um zu überprüfen, ob OpenCV richtig installiert ist OpenCV auf Rpi installieren)

5. Kopieren Sie die Datei „bdtct.py“ in den Home-Ordner in Ihrem rpi, entweder mit scp oder mit einem Flash-Laufwerk.

Schritt 2:Führen Sie den Code aus (auch bekannt als der lustige Teil)

Navigieren Sie im Terminal Ihres rpi zu dem Ordner, in den Sie bdtct.py kopiert haben

2. Führen Sie den folgenden Befehl aus:

sudo python bdctc.py

Das sollte 5 Fenster wie im obigen Bild öffnen

3. Bringen Sie einen Tischtennisball (verwenden Sie wenn möglich einen gelben) vor Ihre Webcam.

5. Der Ball soll im Fenster „Tracking“ verfolgt werden. Falls nicht, stellen Sie die Schieberegler in den Fenstern „HueComp“, „SatComp“, „ValComp“ jeweils so ein, dass nur der Bereich des Tischtennisballs im „schließenden“ Fenster weiß erscheint (Siehe obiges Bild als Referenz). Möglicherweise müssen Sie ein wenig experimentieren, damit dies funktioniert. Notieren Sie sich die Werte der Schieberegler, für die es für Sie funktioniert. Sie können sie später in bdtct.py bearbeiten.

Schritt 3:Den Algorithmus verstehen

Öffnen Sie die Datei bdtct.py im Texteditor.

Der bdtct.py-Code macht Folgendes:

1. Aufnahme der Eingabe durch „cap =cv2.VideoCapture(-1)“

2. Ändern Sie die Größe des Videoframes auf eine kleinere Größe von 320 × 240, damit unser rpi mehr Frames pro Sekunde ausgeben kann.

3. Erstellen von visuellen Elementen wie Fenstern „HueComp“, „SatComp“, „ValComp“ mit entsprechenden Min- und Max-Schiebereglern.

4. Konvertieren der Eingabe vom BGR- in das HSV-System „hsv =cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)“

5. Aufteilen der Farbton-, Sättigungs- und Wertkomponenten.

6. Schwellenwert jeder Komponente entsprechend dem Schwellenwertbereich, der durch die jeweiligen Min- und Max-Schieberegler definiert wird, um ein binäres Schwellenwertbild zu erhalten (siehe Bild oben)

7. Logisch UND die Schwellenwertkomponenten für Farbton, Sättigung und Wert zusammen, um ein grobes Binärbild zu erhalten, in dem nur die Pixel des Tischtennisballs weiß sind, der Rest ist schwarz. (siehe Bild oben)

8. Glätten des UND-verknüpften Bildes „closing =cv2.GaussianBlur(closing,(5,5),0)“

9. Verwenden von HoughCircles zum Erkennen von Kreisen im Bild

10. Zeichnen erkannter Kreise auf dem ursprünglichen Eingaberahmen.

Für weitere Details:Raspberry Pi Ball-Tracking


Herstellungsprozess

  1. Wetterstation basierend auf Raspberry Pi
  2. Temperaturüberwachung auf dem Raspberry Pi
  3. Raspberry Pi 2 Wetterstation
  4. Überwachen der Temperatur mit Raspberry Pi
  5. Neon A Shop Open/Closed Makerspace Sign auf Raspberry Pi 2 (El Paso, TX)
  6. Linienverfolgungssensor mit RPi
  7. Raspberry Pi Universal-Fernbedienung
  8. Ein Stück Himbeer-Pi
  9. Cycle Chaser
  10. Schwenk-/Neige-Gesichtsverfolgung mit dem Himbeer-Pi