Nous avons vu la semaine dernière comment capturer une image grâce au module caméra pour Raspberry Pi 3. Nous allons donc maintenant voir comment capturer une vidéo grâce à ce même module.

Prérequis:

Bien qu’il soit possible de le faire via le package raspicam, nous allons voir une méthode assez simple et efficace pour récupérer une vidéo par le capteur.

Etape 1: Préparation du Raspberry Pi

Pour ce faire, il suffit de charger le module bcm2835-v4l2

sudo modprobe bcm2835-v4l2

Afin de pouvoir rendre la caméra visible.

Vous pouvez vérifier que la caméra apparaît bien en tapant la commande suivante:

ls -l /dev/video*
Capture d'une vidéo: Chargement V4L2

Le problème, c’est qu’à chaque redémarrage de notre Raspberry, il faudra refaire cette manipulation. Pour résoudre ce problème, nous allons modifier le fichier /etc/modules et à rajouter « bcm2835-v4l2 » à la suite :

sudo nano /etc/modules
Capture d'une vidéo: modification du fichier /etc/modules

Il ne nous reste plus qu’à créer notre programme python afin de pouvoir exploiter notre vidéo grâce à OpenCV

Etape 2: Récupération de la vidéo

import time 
import cv2

frames=60
cap=cv2.VideoCapture(0)

debut=time.time()
for i in range (frames):
	ret,img=cap.read()
cap.release()
fin=time.time()

print('Capture de  %d frames a %.2f fps' % (frames,frames / (fin - debut)))

Les lignes 1 et 2  permettent de charger les bibliothèques time et OpenCV. Nous définissons par la suite le nombre de trame que nous souhaitons capturer, dans notre cas 60. La ligne 5 nous permet de déclarer la classe cap permettant l’acquisition de la vidéo par la caméra.

Nous pouvons donc commencer à capturer nos images. Nous définissons une boucle à la ligne 8 pour capturer nos 60 trames. Pour chaque iteration, nous capturons et décodons une image grace à la fonction read() ligne 9.

les lignes 7 et 11, sont utilisés pour calculer le temps pour acquérir nos 60 images.

Enfin ligne 12, nous affichons le nombre de trames capturées par seconde (fps).

Capture d'une vidéo: Affichage du FPS

Et ensuite ?

Pour aller plus loin, je vous conseille la lecture de cet article sur l’enregistrement de vidéo. Vous pouvez également lire cet article présentant un projet de reconnaissance de carte sur Raspberry.


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.