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

Raspberry Pi Ball-tracking

(Opmerking:dit is een geavanceerde tutorial, het is niet bedoeld voor een linux-beginner.)

In deze tutorial laat ik zien hoe je tafeltennisballen kunt volgen met OpenCV op Raspberry Pi. Het kan worden gebruikt om elk cirkelvormig object te volgen, zolang het maar goed vanaf de achtergrond kan worden gedetecteerd. Dit kan handig zijn bij het volgen van ballen en soortgelijke projecten.

Dingen die je nodig hebt:

1. Raspberry Pi (met de nieuwste Raspbian geïnstalleerd, je kunt het hier downloaden:https://www.raspberrypi.org/downloads/ Volg de installatie-instructies op dezelfde site)

2. USB-webcam (test een die Rasppi ondersteunt)

3. Een linux-host (bij voorkeur Linux Mint/Ububtu) die ik heb getest met Linux Mint 17.

4. Ervaring met debian-systemen

Stap 1:Eerste installatie

Instructies:

1. Maak Rpi-verbindingen:toetsenbord, muis, webcam, ethernet of wifi-dongle, weergave via HDMI, voeding

2. Zet je Rpi aan

3. Start de Raspbian GUI op uw Rpi op (Raspbian boot naar GUI)

4. Open terminal en installeer OpenCV (volg de uitstekende gids van Trevor Appleton om te controleren of OpenCV correct is geïnstalleerd Installeer OpenCV op Rpi)

5. Kopieer het bestand "bdtct.py" naar de thuismap in uw rpi met scp of met een flashstation.

Stap 2:Voer de code uit (ook wel het leuke gedeelte genoemd)

Navigeer in de terminal van uw rpi naar de map waar u bdtct.py heeft gekopieerd

2. Voer de volgende opdracht uit:

sudo python bdctc.py

Dat zou 5 vensters moeten openen zoals in bovenstaande afbeelding

3. Breng een tafeltennisbal (gebruik indien mogelijk een gele) voor je webcam.

5. De bal moet worden gevolgd in het venster "tracking". Als dat niet het geval is, past u de schuifregelaars in de vensters "HueComp", "SatComp", "ValComp" respectievelijk zodanig aan dat alleen het gebied van de tafeltennisbal wit wordt weergegeven in het "sluit"-venster (zie de bovenstaande afbeelding ter referentie). Mogelijk moet u een beetje experimenteren om dit werkend te krijgen. Noteer de waarden van de schuifregelaars waarvoor het voor u werkt, u kunt ze later bewerken in bdtct.py .

Stap 3:Het algoritme begrijpen

Open het bestand bdtct.py in de teksteditor.

De bdtct.py-code doet het volgende:

1. De invoer opnemen door "cap =cv2.VideoCapture(-1)"

2. Verklein het videoframe naar een kleiner formaat van 320×240, zodat onze rpi meer frames per seconde kan produceren.

3. Visuele elementen maken zoals vensters "HueComp", "SatComp", "ValComp" met respectievelijke min en max schuifregelaars.

4. De invoer omzetten van BGR naar HSV-systeem "hsv =cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)"

5. Splitsing van de tint-, verzadigings- en waardecomponenten.

6. Drempelwaarde voor elk onderdeel volgens het drempelbereik gedefinieerd door respectievelijke min en max schuifregelaars om een ​​binair drempelbeeld te verkrijgen (zie bovenstaande afbeelding)

7. Logisch EN de gedrempelde tint, verzadiging, waardecomponenten samen om een ​​ruw binair beeld te krijgen waarin alleen de pixels van de tafeltennisbal wit zijn, rest is alles zwart. (zie bovenstaande afbeelding)

8. De ANDed-afbeelding gladmaken "closing =cv2.GaussianBlur(closing,(5,5),0)"

9. HoughCircles gebruiken om cirkels in de afbeelding te detecteren

10. Teken gedetecteerde cirkels op het originele invoerframe.

Voor meer details:Raspberry Pi Ball-tracking


Productieproces

  1. Weerstation gebaseerd op Raspberry Pi
  2. Temperatuurbewaking op de Raspberry Pi
  3. Raspberry Pi 2 weerstation
  4. Temperatuur bewaken met Raspberry Pi
  5. Neon A Shop Open/Closed Makerspace-teken op Raspberry Pi 2 (El Paso, TX)
  6. Lijnvolgsensor met RPi
  7. Raspberry Pi universele afstandsbediening
  8. Een stukje Raspberry Pi
  9. Cycle Chaser
  10. Pan / Tilt face-tracking met de raspberry pi
  11. Raspberry Pi diefdetector