Bonjour,
J'ai un projet, qui me semblait vraiment simple et pour lequel j'ai commencé a apprendre python il y a quelques temps.
Le projet est de creer une interface très simple, 1 bouton, qui enregistre pendant X secondes le flux vidéo d'une webcam, pendant l'enregistrement un compteur de temps défile.
Après avoir engranger les bases de python je me suis lancé et j'ai pris un mur direct
j'ai lutté une bonne 20aine d'heure juste pour installer opencv et les bibliothèques nécessaires, puis j'ai enfin commencé a chercher un peu tout ce que je trouvais sur openCV.
La doc est fournie, mais tellement fouillis... entre C++ et Python, tout est mélangé, ca change selon les version d'opencv, les versions de python, bref, c'est un beau bor$*ù$
voici les 2 codes que j'ai pu créer:
tout d'abord le compteur de temps, simple et je l'espère efficace en tout cas, ca fonctionne, a essayer avec tkinter, mais je ne me suis pas encore penché sur ce dernier.
en suite, la récupération du flux vidéo. la ca ne semble pas fonctionner, python tourne pendant les x secondes paramétrées, mais aucun flux vidéo ne semble être enregistré, je ne sais d'ailleurs pas ou le chercher, je n'ai rien trouvé dans la doc pour préciser un chemin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 >>> import time >>> i=10 >>> while i>0: print(i) i=i-1 time.sleep(1)
Je me suis inspiré de morceaux de script trouvés sur google/dans la docs, ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 import time import numpy as np import cv2 Duree=45 format_video=cv2.VideoWriter_fourcc(*'XVID') nom_video="video1" def clean(capture, video): capture.release() video.release() if __name__ == "__main__": capture=cv2.VideoCapture(0) video=cv2.VideoWriter(nom_video, format_video, 20, (640,480)) temps_depart=int(time.time()) temps_actu=0 try: while(capture.isOpened() and temps_actu < Duree): ret, frame = capture.read() if ret == True: video.write(frame) else: break temps_actu=int(time.time())-temps_depart except KeyboardInterrupt: clean(capture, video) clean(capture, video)
Sauriez vous m'aider? je cherche a comprendre, et vu mon niveau
Merci par avance,
El castor!
Partager