OpenCV

OpenCV - C - Programmation

Marsh Posté le 21-02-2007 à 11:53:12    

Bonjour,
 
j'aurais besoin de quelques explications sur un morceau de code ^^
 

Code :
  1. int main(int argc, char** argv)
  2. {
  3.  
  4.     CvCapture* capture = 0;
  5.    
  6.     if(argc==1 || (argc==2 && strlen(argv[1])==1 && isdigit (argv[1][0])))
  7.    
  8.         capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - '0' : 0 );
  9.        
  10.     else if(argc==2)
  11.         capture=cvCaptureFromAVI(argv[1]);
  12.        
  13.     if(!capture)
  14.     {
  15.         fprintf(stderr,"Pas de caméra connectée...\n" );
  16.         return -1;
  17.     }
  18. [...]


 
Je ne comprend pas se que retourne argc et argv...  
Se que je cherche à faire etant de faire une aquisition d'image à partir d'une carte d'acquisition vidéo et non plus a partir d'une WebCam usb  comme le fait ce programme.
 
merci d'avance pour votre aide :jap:

Reply

Marsh Posté le 21-02-2007 à 11:53:12   

Reply

Marsh Posté le 21-02-2007 à 11:55:12    

Pourquoi "OpenCV" comme titre ? [:el g]

 

Quant à argc/argv, tu as la réponse sympa "ce sont les arguments de ton programme", et la réponse moins sympa (mais plus utile) : "ouvre un livre de C"©.


Message édité par Elmoricq le 21-02-2007 à 11:56:06
Reply

Marsh Posté le 21-02-2007 à 11:59:37    

Mevag a écrit :

Bonjour,
 
j'aurais besoin de quelques explications sur un morceau de code ^^
 

Code :
  1. int main(int argc, char** argv)
  2. {
  3.  
  4.     CvCapture* capture = 0;
  5.    
  6.     if(argc==1 || (argc==2 && strlen(argv[1])==1 && isdigit (argv[1][0])))
  7.    
  8.         capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - '0' : 0 );
  9.        
  10.     else if(argc==2)
  11.         capture=cvCaptureFromAVI(argv[1]);
  12.        
  13.     if(!capture)
  14.     {
  15.         fprintf(stderr,"Pas de caméra connectée...\n" );
  16.         return -1;
  17.     }
  18. [...]


 
Je ne comprend pas se que retourne argc et argv...  
Se que je cherche à faire etant de faire une aquisition d'image à partir d'une carte d'acquisition vidéo et non plus a partir d'une WebCam usb  comme le fait ce programme.
 
merci d'avance pour votre aide :jap:


 
Lis la doc d'opencv pour savoir ce que font les fonctions cvCaptureFromCAM et cvCaptureFromAVI, tu devrais rapidement trouver ce qu'est une source d'acquisition ...


---------------
Töp of the plöp
Reply

Marsh Posté le 21-02-2007 à 12:05:31    

Ah, c'est le nom du logiciel ? J'croyais que c'était le nom d'un site pour gérer son CV. [:ddr555]

Reply

Marsh Posté le 21-02-2007 à 12:54:42    

Elmoricq a écrit :

Ah, c'est le nom du logiciel ? J'croyais que c'était le nom d'un site pour gérer son CV. [:ddr555]


En fait c'est une lib de traitement d'images made in intel [:god]


---------------
Töp of the plöp
Reply

Marsh Posté le 21-02-2007 à 12:57:05    

Elmoricq a écrit :

Ah, c'est le nom du logiciel ? J'croyais que c'était le nom d'un site pour gérer son CV. [:ddr555]


+1 :D

Reply

Marsh Posté le 21-02-2007 à 15:02:22    

Elmoricq a écrit :

Ah, c'est le nom du logiciel ? J'croyais que c'était le nom d'un site pour gérer son CV. [:ddr555]


 
je pensais que c'était un format XML ouvert pour son CV... :whistle:  

Reply

Marsh Posté le 21-02-2007 à 15:29:27    

non le but du programme est pas de rédiger un cv ;)
 
le bout de programme que je vous ai montré est repompé d'un exemple fourni avec OpenCV mais je ne comprend pas le but des différents test...  
 
Le programme tourne parfaitement bien pour le moment (détection de contour sur une image) à partir d'un WebCam mais je doit le modifier pour arriver à récupérer les images envoyées par un caméra sans fil via une carte d'acquisition pci.
 
actuelement le prog affiche uniquement "Pas de caméra connectée..." et il n'est pas evident de modifier se qu'on ne comprend pas parfaitement ;)
 
edit : je précise que je ne rentre aucun paramètre au moment du lancement, une simple execution et la capture commence. D'ou mon incompréention pour les parametres argc et argv...


Message édité par Mevag le 21-02-2007 à 16:06:16
Reply

Marsh Posté le 23-02-2007 à 14:02:31    

en fait tu peux utiliser OpenCv pour recuperer les flux provenant de ta carte d'acquisition (dans ce cas il faut utiliser les fonction qui vont bien) soit depuis une webcam et la tu utilises d'autres fonctions... le mieux est d'aller roder sur le forum de la communauté (jolie wiki : http://opencvlibrary.sourceforge.net/.
 
 
petite correction OpenCv peut etre utilisé sans les librairie d'intel (ipp et/ou ipp) et est developpé par la communauté du meme nom...en glu

Reply

Marsh Posté le 15-05-2007 à 23:39:23    

Mevag a écrit :

Bonjour,
 
j'aurais besoin de quelques explications sur un morceau de code ^^
 

Code :
  1. int main(int argc, char** argv)
  2. {
  3.  
  4.     CvCapture* capture = 0;
  5.    
  6.     if(argc==1 || (argc==2 && strlen(argv[1])==1 && isdigit (argv[1][0])))
  7.    
  8.         capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - '0' : 0 );
  9.        
  10.     else if(argc==2)
  11.         capture=cvCaptureFromAVI(argv[1]);
  12.        
  13.     if(!capture)
  14.     {
  15.         fprintf(stderr,"Pas de caméra connectée...\n" );
  16.         return -1;
  17.     }
  18. [...]


 
Je ne comprend pas se que retourne argc et argv...  
Se que je cherche à faire etant de faire une aquisition d'image à partir d'une carte d'acquisition vidéo et non plus a partir d'une WebCam usb  comme le fait ce programme.
 
merci d'avance pour votre aide :jap:


 
Excuse me but I speech francis but I don't write .... (I am italian) ...
 
These are the first lines of a opencv capture routine....
In the complete source there are the AVI acpture, the webcam capture and the files capture...
With these arguments you can select the capture source ....
If you select camcapture the argv[x] is the camera driver that you want to use....
If you are interested to opencv source code there is a italian forum with many messeges about thi argument ....
 
http://www.bernardotti.it/portal/forumdisplay.php?f=7
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed