Cours:Classif : Différence entre versions
(→Capture d'image et affichage en temps réel) |
|||
| Ligne 42 : | Ligne 42 : | ||
=== Capture d'image et affichage en temps réel === | === Capture d'image et affichage en temps réel === | ||
| − | En exploitant la documentation Picamera2 (principalement section 6 - ''Capturing images and requests'' | + | En exploitant la documentation [https://pip-assets.raspberrypi.com/categories/652-raspberry-pi-camera-module-2/documents/RP-008156-DS-2-picamera2-manual.pdf?disposition=inline Picamera2] (principalement section 6 - ''Capturing images and requests'') |
* Tester les deux exemples ''Capturing arrays'' et ''Capturing PIL images'' | * Tester les deux exemples ''Capturing arrays'' et ''Capturing PIL images'' | ||
** PIL fait référence à [https://www.pythonware.com/products/pil/ Python Imaging Library] : une bibliothèque Python de traitement d'images. | ** PIL fait référence à [https://www.pythonware.com/products/pil/ Python Imaging Library] : une bibliothèque Python de traitement d'images. | ||
Version du 21 janvier 2026 à 12:11
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.
Sommaire
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)
- Le langage Python accompagné de
- la librairie libcamera pour les acquisitions :
- PIL et numpy pour les traitements bas niveaux
- la librairie opencv et dlib pour la classification et la reconnaissance
Étapes :
- Connexion à la Rpi et test d'acquisition en ligne de commande
- Capture d'image et affichage en temps réel, avec Python
- Prétraitement
- Reconnaissance simple d'un seul objet, avec descripteurs géométriques
- Classifieur plus évolué (knn, svm)
- Plusieurs objets
Connexion à la Rpi et test d'acquisition en ligne de commande
- Connecter (si cela n'est pas fait) la PiCam à la Rpi4
- Dans un terminal, se connecter à la Rpi en ssh :
ssh -X root@10.98.33.XX - Tester la PiCam avec
libcamera-hello(la capture en video doit s'afficher sur l'écran de la Rpi). Avec les informations affichées, identifier :- le modèle du capteur,
- ses caractéristiques (résolution, format, cadence, etc ...).
- Tester l'acquisition d'image avec l'éxecutable
libcamera-still- Explorer les options de cette application (
libcamera-still -h), en particulier-n,--immediate,--width,--heightet-o - Voir la page suivante pour le détails des options possibles : https://www.raspberrypi.com/documentation/computers/camera_software.html
- Explorer les options de cette application (
Capture d'image et affichage en temps réel
En exploitant la documentation Picamera2 (principalement section 6 - Capturing images and requests)
- Tester les deux exemples Capturing arrays et Capturing PIL images
- PIL fait référence à Python Imaging Library : une bibliothèque Python de traitement d'images.
Prétraitement
Reconnaissance simple d'un seul objet, avec descripteurs géométriques
Classifieur plus évolué
Plusieurs objets
Références
OpenCV :
- OpenCV Tutorials
- Exemples OpenCV en c++
- K-Nearest Neighbour
- Image Segmentation with Watershed Algorithm
- connected Components et son exemple en cpp : https://docs.opencv.org/3.4/de/d01/samples_2cpp_2connected_components_8cpp-example.html#a3
- Introduction to Support Vector Machines
- Fourier Descriptors, voir également Contours example pour obtenir les contours d'un objet.
Archives de cette page :