Bonjour,

Malgrés maintes recherches et essais je n'arrive toujours pas à récupérer le flux video de ma webcam logitech quickcam chat.

J'ai essayé du code openCV classique que voici :
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <opencv/highgui.h>
  2 #include <opencv/cv.h>
  3 
  4 int main()
  5 {
  6     //Image qui contiendra les frames de la vidéo
  7         IplImage* img; 
  8                 
  9     // La capture vidéo, ici, un fichier :
 10     //CvCapture* capture = cvCreateFileCapture("/home/arnaud/Videos/test_vision.avi");
 11         
 12     // Si vous voulez lire une webcam à la place, commentez la ligne précédente, 
 13     // et décommentez celle-ci :
 14     CvCapture* capture = cvCreateCameraCapture( -1 ); 
 15                                       
 16     // On vérifie que la capture est bien initialisée,
 17     // si ce n'est pas le cas, on quitte le programme.
 18     if( !capture )                               
 19         return 10;                                       
 20         
 21     cvNamedWindow("video", CV_WINDOW_AUTOSIZE);             
 22     char key = NULL;
 23         
 24     // On essaye de capturer une frame                               
 25     if(!cvGrabFrame( capture ))                                          
 26         return 20;                                                               
 27                                                                                     
 28     // Tant qu'on n'a pas appuyé sur Q, on continue :                                  
 29     while(key != 'q')                                                                      
 30     {                                                                                          
 31         // On décompresse la dernière frame récupérée...                                               
 32         img = cvRetrieveFrame( capture );                                                                      
 33                                                                                                                     
 34         // ... et on la montre à l'écran.                                                                                  
 35         cvShowImage( "video", img );                                                                                               
 36         
 37         // On attend 10 ms : IMPORTANT !                                                                                                   
 38         key = cvWaitKey(10);                                                                                                                       
 39                                                                                                                                                         
 40         // On essaye de capturer la frame suivante                                                                                                             
 41         if(!cvGrabFrame( capture ))                                                                                                                                    
 42             key = 'q';                                                                                                                                                         
 43     }                                                                                                                                                                          
 44         
 45     // On détruit les fenêtres créées : nouvelle fonction. ;)                                                                                                                  
 46     cvDestroyAllWindows();                                                                                                                                                     
 47         
 48     // On n'a pas besoin de détruire l'image.                                                                                                                                  
 49     img = NULL;                                                                                                                                                                
 50         
 51     // On détruit la capture                                                                                                                                                   
 52     cvReleaseCapture( &capture );                                                                                                                                              
 53         
 54     return 0;                                                                                                                                                                  
 55 }
Ce code ne fonctionne pas, je n'ai même pas d'ouverture de fenetre....
J'ai essayer les codes d'un modérateur dont le pseudo m'echappe ou il utilisait cvcam.h et ses fonctions.

Ma webcam fonctionne bien car d'autres logiciels arrive à la faire fonctionner (cheese gstreamer test ...) donc j'imagine que coté drivers tout vas bien.

Le code echoue au niveau de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CvCapture* capture = cvCreateCameraCapture( -1 );
la structure n'est pas initialisée.

J'aimerai avoir le conseils d'experts sur comment faire marcher cette f*$ù*ù&²*ù@ webcam

Merci !