Bonjour à tous,
J'essaie depuis un moment de "grabber" le flux vidéo à partir de ma webcam, ce petit code me permet de le faire :
Seulement, la résolution de sortie est le VGA 640-480 alors que ma webcam est une 720p (1280-720).
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 int main() { namedWindow("img",CV_WINDOW_AUTOSIZE); VideoCapture cap(CV_CAP_ANY); Mat img; bool process(true); while(process) { cap>>img; if(!img.empty())imshow("img",img); if(waitKey(33) == 27) { process = false; } } return 0; }
Au début, je me suis dit que le problème venait de certains réglages avancés via le soft de la webcam, mais j'ai pu enregistrer des flux à 720p avec son soft associé (donc j'ai exclu cette piste).
En rajoutant ces deux lignes au début:
Ma sortie est effectivement à 640-480 dès la capture... !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 w = cap.get(CV_CAP_PROP_FRAME_WIDTH); h = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
J'ai pas encore testé avec une autre webcam, pour voir si le streamVideo par Opencv est exclusivement restreint à 640-480? ou plutôt un problème spécifique aux webcams Logitech?
J'ai pas trouvé grand choses sur les forums anglais.. !
Si quelqu'un a réussi à avoir un flux >VGA avec une webcam, je serai très intéressé par son éventuelle solution .
Je vous remercie.
Partager