Nous avons vu la semaine dernière un projet de reconnaissance de carte utilisant le module caméra du Raspberry.

Cependant nous n’avons jamais étudié comment acquérir une image du module dans OpenCV. C’est donc naturellement que nous allons aujourd’hui s’attaquer à ce problème !

Pour commencer, il vous faudra:

C’est tout, nous pouvons commencer !

Etape 1: Connecter la caméra au Raspberry

Dans un premier temps, nous allons installer la caméra qui est une opération assez simple: il suffit de rentrer la nappe de la caméra dans le port prévu à cet effet. Le port se situe près du port HDMI du Raspberry. Je vous conseille fortement de brancher le module caméra sans alimentation afin d’éviter tout court-circuit pouvant endommager le module.

Branchement de la nappe de du module caméra sur le raspberry

Branchement de la nappe de du module caméra sur le Raspberry

Si vous avez des soucis pour l’installation de la caméra, je vous conseille de regarder cette vidéo (en anglais).

Etape 2: Activer la caméra

Dans la configuration par défaut de Raspbian, la caméra est désactivée, il est donc nécessaire de l’activer.

Pour ce faire ouvrez un terminal et tapez la commande suivante:

sudo raspi-config

On se retrouve sur l’interface de configuration du Raspberry:

raspi-config

Tout d’abord, utilisez la flèche du bas pour aller au menu 5 « Interfacing Options » et appuyez sur la touche entrée.

Interfacing options

Ensuite, rentrez dans le menu « camera » et cliquez sur « oui » pour activer le module.

Etape 3: Tester la caméra

Avant d’aller plus loin, nous pouvons tester que notre caméra fonctionne bien en tapant la commande suivante:

raspistill -o test.jpg

En effet, cette commande permet d’activer le module caméra, d’afficher la vue de la caméra et d’enregistrer l’image dans le fichier « test.jpg ».

image de test

Et voici une superbe image de mon plafond :). J’essaierai de trouver un support pour permettre des vues plus intéressantes pour la suite !

Très bien notre caméra fonctionne bien, nous pouvons attaquer la partie OpenCV.

Etape 4: Installer PiCamera

Afin de pouvoir interfacer la caméra avec python, nous devons utiliser le module picamera.

Pour l’installer, rien de plus simple:

pip3 install picamera

Une fois l’installation effectuée, nous pouvons passer à la partie code.

Etape 5: Acquérir d’une image

Nous sommes maintenant prêts à capturer notre première image !

Commençons par créer un fichier « capture_image.py » afin de pouvoir inscrire notre code.

#Import des paquets nécessaire
import cv2
from picamera.array import PiRGBArray
from picamera import PiCamera

# Initialisation de la caméra
camera=PiCamera()
rawCapture=PiRGBArray(camera)

#Acquisition d'une image
camera.capture(rawCapture,format='bgr')
image=rawCapture.array

#Enregistrement de l'image
cv2.imwrite('image.jpg',image)

Tout d’abord, les lignes 2-4 permettent de charger les paquets nécessaires.

Ensuite, nous initialisons la caméra à la ligne 7 et nous acquerrons une référence aux données brutes à la ligne 8. Il est important de passer par cette référence puisqu’elle nous permet d’accéder directement au stream de la caméra et également d’éviter de passer par la compression jpeg (a perte) que nous aurions à décompresser par la suite avec OpenCV.  Cela résulterait en une perte de performance. (cf. doc).

Puisque les images OpenCV sont enregistrées dans l’ordre ‘BGR’, nous capturons nos données en format BGR à la ligne 11. Enfin, nous pouvons ainsi récupérer notre image du stream à la ligne 12. et nous l’enregistrons à la ligne 15.

[amazon_link asins=’B01ER2SKFS,B00INRLAYW,B01CD5VC92,B01ICNT3HC’ template=’ProductCarousel’ store=’pymotion-21′ marketplace=’FR’ link_id=’938f25b7-b507-11e7-8291-0f4548d67976′]


0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.