Lecture d'un flux vidéo à partir d'une webcam
Méthode :
Le programme pour lire une webcam branchée sur un port USB
1
import numpy as np
2
import cv2 as cv
3
cap = cv.VideoCapture(0)
4
while(True):
5
# Capture image par imaghe6
ret, img = cap.read()
7
# Préparation de l'affichage de l'image8
cv.imshow('frame',img)
9
# affichage et saisie d'un code clavier10
if cv.waitKey(1) & 0xFF == ord('q'):
11
break12
# Ne pas oublier de fermer le flux et la fenetre13
cap.release()
14
cv.destroyAllWindows()
Méthode : Changement de la taille
Pour changer la taille on utilise la méthode set, après avoir ouvert le flux video
1
cap.set(cv.CAP_PROP_FRAME_WIDTH,1280)
2
cap.set(cv.CAP_PROP_FRAME_HEIGHT,960)
3
Méthode : Lecture d'une webcam et enregistrement d'une vidéo
Le programme lit une image de la webcam et écrit cette image dans le fichier video AVI. Le codec utilisé est MJPG
1
import numpy as np
2
import cv2 as cv
3
webcam = cv.VideoCapture(0)
4
fourcc = cv.VideoWriter_fourcc(*'MJPG')
5
fichier = cv.VideoWriter('c:/temp/test.avi',fourcc,20,(640,480))
6
while(True):
7
# Capture image par image8
ret, img = webcam.read()
9
if ret==True:
10
fichier.write(img)
11
# Preparation de l'affichage de l'image12
cv.imshow('Ma Webcam',img)
13
# affichage et saisie d'un code clavier14
if cv.waitKey(1) & 0xFF == ord('q'):
15
break16
else:17
break18
# Ne pas oublier de fermer le flux et la fenetre19
webcam.release()
20
fichier.release()
21
cv.destroyAllWindows()
Méthode : Lecture d'un fichier video
La lecture d'un fichier video ou du flux d'une webcam fonctionne sur le même principe. La différence est dans l'origine : pour un fichier il faut donner le nom !
1
import numpy as np
2
import cv2 as cv
3
fichier = cv.VideoCapture('c:/temp/test.avi')
4
while(True):
5
# Capture image par image6
ret, img = fichier.read()
7
if ret==True:
8
# Preparation de l'affichage de l'image9
cv.imshow('Mon fichier',img)
10
# affichage et saisie d'un code clavier11
if cv.waitKey(1) & 0xFF == ord('q'):
12
break13
else:14
break15
# Ne pas oublier de fermer le flux et la fenetre16
fichier.release()
17
cv.destroyAllWindows()






