Manipuler sa webcam en Python

Manipuler sa webcam en Python

Ceci est un tout petit article concernant la manipulation de la webcam en Python.

capturer le flux d'une webcam avec Python
Capture du flux de la webcam sauvegardé à l’aide de Python… Admirez le bogoss… 🙂

Module Python pour manipuler la webcam

La première chose à savoir, c’est le module que l’on peut utiliser pour lancer la webcam. Personnellement, j’utilise le module OpenCV.

pip install opencv-python

Enregistrer la webcam

Voici un code qui servira d’exemple:

import cv2

cap = cv2.VideoCapture(0)

fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 25.0, (640,480))

while( cap.isOpened() ):
    ret, frame = cap.read()
    if ret == True:
        frame = cv2.flip(frame,1)
        out.write(frame)
        cv2.imshow('frame' , frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

La ligne 5 définit un CODEC et crée un objet VideoWriter.

La ligne 6, vous vous en douterez sûrement, crée l’objet que l’on va enregistrer. Ici, on nomme la vidéo de sortie “output.avi” (après tout, pourquoi faire compliqué ?), et on précise (deuxième argument) le CODEC que l’on souhaite utiliser pour cette sortie vidéo. “25.0” est le nombre d’images par seconde. Enfin, le couple composant le dernier argument est la résolution de sortie. Notez que c’est le seul couple possible dans cette configuration (j’ai testé d’autres couples en gardant la même proportion, à savoir (4/3,1), mais cela n’a pas fonctionné). N’étant pas un expert de ce module, je n’irai pas plus loin concernant cette résolution…

La ligne 14 est importante; en effet, vous pourrez remarquer, si vous testez ce code, que si vous tentez de fermer la fenêtre avec la croix, cela ne fonctionne pas. Ici, il faut appuyer sur la touche “q” (constatez que c’est de la minuscule dont on parle, non de la majuscule).

Je manque cruellement d’imagination et ne sais pas du tout comment on pourrait exploiter cette portion de code, mais si vous avez des idées, n’hésitez pas à les laisser en commentaire!

Si ce thème vous intéresse, consultez la documentation du module : https://opencv-python-tutroals.readthedocs.io/en/latest/

Stéphane Pasquet
Stéphane Pasquet

Laissez votre message

Supportscreen tag