Cours:Classif : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 32 : Ligne 32 :
 
* Télécharger depuis GitHub (<code>git clone ...</code>), ce projet de démo : https://github.com/edward-ardu/libcamera-cpp-demo/tree/main
 
* Télécharger depuis GitHub (<code>git clone ...</code>), ce projet de démo : https://github.com/edward-ardu/libcamera-cpp-demo/tree/main
 
* Le compiler et l'exécuter pour tester.
 
* Le compiler et l'exécuter pour tester.
 +
* Prendre le temps d'analyser le programme <code>main.cpp</code> pour comprendre :
 +
** comment il fonctionne ;
 +
** comment l'image est acquise et utilisée dans openCV :
 +
*** quel est l'objet openCV qui contient l'image ?
 +
*** comment est affichée cette image ?
 +
*** comment l'acquisition d'une touche est-elle gérée ?
 +
*** ...

Version du 28 janvier 2025 à 10:10

TP Classification : détection d'objet en temps réel par vision

Le travail de cette étape va consister à

  • analyser des images acquises en "temps réel" afin de détecter et identifier des objets
  • les objets seront
    • dans un premier temps des jetons de nain jaune
    • dans un second temps des briques lego.

Technos matérielles et logicielles

Vous utiliserez :

  • Une Rpi 4 que vous programmerez depuis des postes utilisés en terminaux connectés par ssh, avec redirection graphique (option - X).
  • Une camera PiCam Wide (grand angle)
  • la librairie opencv pour la reconnaissance
  • la librairie CImg pour des traitements bas niveaux et affichages : https://cimg.eu/

Prise d'images en terminal

  • Connecter (si cela n'est pas fait) la PiCam à la Rpi4
  • Tester la PiCam avec libcamera-hello (la capture doit s'afficher sur l'écran de la Rpi)
  • Tester l'acquisition d'image avec l'éxecutable libcamera-still
  • Explorer les options de cette application (libcamera-still -h), en particulier -n, --immediate, --width, --height et -o

Voir la page suivante pour le détails des options possibles : https://www.raspberrypi.com/documentation/computers/camera_software.html

Livrable 1 : acquisition d'image

La PiCam s'interface en exploitant la librairie LibCamera.

  • Télécharger depuis GitHub (git clone ...), ce projet de démo : https://github.com/edward-ardu/libcamera-cpp-demo/tree/main
  • Le compiler et l'exécuter pour tester.
  • Prendre le temps d'analyser le programme main.cpp pour comprendre :
    • comment il fonctionne ;
    • comment l'image est acquise et utilisée dans openCV :
      • quel est l'objet openCV qui contient l'image ?
      • comment est affichée cette image ?
      • comment l'acquisition d'une touche est-elle gérée ?
      • ...