Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Suivi de la boule Raspberry Pi

(Remarque :il s'agit d'un didacticiel avancé, il n'est pas destiné à un débutant Linux.)

Dans ce tutoriel, je vais montrer comment suivre des balles de tennis de table à l'aide d'OpenCV sur Raspberry Pi. Il peut être utilisé pour suivre n'importe quel objet circulaire tant qu'il peut être bien détecté à partir de son arrière-plan. Cela peut être utile dans les robots de suivi de balle et les projets similaires.

Choses dont vous avez besoin :

1. Raspberry Pi (avec le dernier Raspbian installé, vous pouvez l'obtenir ici :https://www.raspberrypi.org/downloads/ Suivez les instructions d'installation sur le même site)

2. Webcam USB (testez-en une prise en charge par Rasppi)

3. Un hôte Linux (de préférence Linux Mint/Ububtu ) que j'ai testé avec Linux Mint 17.

4. Expérience avec les systèmes Debian

Étape 1 :Configuration initiale

Instructions :

1. Établissez des connexions Rpi :clavier, souris, webcam, dongle ethernet ou wifi, affichage via HDMI, alimentation

2. Allumez votre Rpi

3. Démarrez dans l'interface graphique raspbian sur votre Rpi (démarrage Raspbian sur l'interface graphique)

4. Ouvrez le terminal et installez OpenCV (Suivez l'excellent guide de Trevor Appleton pour vérifier qu'OpenCV est correctement installé Installez OpenCV sur Rpi)

5. Copiez le fichier « bdtct.py » dans le dossier de départ de votre rpi en utilisant scp ou en utilisant un lecteur flash.

Étape 2 :Exécutez le code (c'est-à-dire la partie amusante)

Dans le terminal de votre rpi, accédez au dossier où vous avez copié bdtct.py

2. Exécutez la commande suivante :

sudo python bdctc.py

Cela devrait ouvrir 5 fenêtres comme dans l'image ci-dessus

3. Apportez une balle de tennis de table (utilisez une jaune si possible) devant votre webcam.

5. La balle doit être suivie dans la fenêtre « suivi ». Sinon, réglez les curseurs dans les fenêtres "HueComp", "SatComp", "ValComp" respectivement de sorte que seule la région de la balle de tennis de table apparaisse en blanc dans la fenêtre de "fermeture" (voir l'image ci-dessus pour référence). Vous devrez peut-être expérimenter un peu pour que cela fonctionne. Notez les valeurs des curseurs pour lesquels cela fonctionne pour vous, vous pourrez les modifier plus tard dans bdtct.py .

Étape 3 : Comprendre l'algorithme

Ouvrez le fichier bdtct.py dans l'éditeur de texte.

Le code bdtct.py fait ce qui suit :

1. Prise en compte de l'entrée par "cap =cv2.VideoCapture(-1)"

2. Redimensionner l'image vidéo à une taille plus petite de 320 × 240, afin que notre rpi puisse produire plus d'images par seconde.

3. Création d'éléments visuels comme les fenêtres "HueComp", "SatComp", "ValComp" avec les curseurs min et max respectifs.

4. Conversion de l'entrée du système BGR au système HSV "hsv =cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)"

5. Diviser les composants de teinte, de saturation et de valeur.

6. Seuil de chaque composant en fonction de la plage de seuil définie par les curseurs min et max respectifs pour obtenir une image seuillée binaire (voir l'image ci-dessus)

7. Logiquement ET la teinte seuillée, le saturarion, valorisent les composants ensemble pour obtenir une image binaire approximative dans laquelle seuls les pixels de la balle de tennis de table sont blancs, tout le reste est noir. (voir image ci-dessus)

8. Lissage de l'image ANDed "closing =cv2.GaussianBlur(closing,(5,5),0)"

9. Utilisation de HoughCircles pour détecter les cercles dans l'image

10. Dessiner des cercles détectés sur le cadre d'entrée d'origine.

Pour plus de détails :Tracking Raspberry Pi Ball


Processus de fabrication

  1. Station météo basée sur Raspberry Pi
  2. Surveillance de la température sur le Raspberry Pi
  3. Station météo Raspberry Pi 2
  4. Contrôle de la température avec Raspberry Pi
  5. Neon A Shop Open/Closed Makerspace Sign sur Raspberry Pi 2 (El Paso, Texas)
  6. Capteur de suivi de ligne avec RPi
  7. Télécommande universelle Raspberry Pi
  8. Une tranche de framboise Pi
  9. Cycle Chaser