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 :
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; 
}
Seulement, la résolution de sortie est le VGA 640-480 alors que ma webcam est une 720p (1280-720).
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:
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);
Ma sortie est effectivement à 640-480 dès la capture... !
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.