Bonjour,
Dans le cadre d'un projet je souhaite utiliser opencv sous linux (projet C++ eclipse).
Le but étant d'exploiter une image de webcam pour quelques traitements d'images.
J'ai pour cela, j'ai commencé à tester quelques petit tuto pour récupérer l'image des mes webcam et qui semblait assez facile avec opencv. Voilà donc mon source (main.cpp)
#include <iostream>
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
/*
*
*
*/
int main(int argc, char *argv[]) {
// Touche clavier
char key;
// Image
IplImage *image;
// Capture vidéo
CvCapture *capture;
// Ouvrir le flux vidéo
capture = cvCreateCameraCapture(0);
// Vérifier si l'ouverture du flux est ok
if (!capture) {
cerr<<"Ouverture du flux vidéo impossible" << endl;
return 1;
}
// Définition de la fenêtre
cvNamedWindow("GeckoGeek Window", CV_WINDOW_AUTOSIZE);
// Boucle tant que l'utilisateur n'appuie pas sur la touche q (ou Q)
while(key != 'q' && key != 'Q') {
// On récupère une image
image = cvQueryFrame(capture);
// On affiche l'image dans une fenêtre
cvShowImage( "GeckoGeek Window", image);
// On attend 10ms
key = cvWaitKey(10);
}
cvReleaseCapture(&capture);
cvDestroyWindow("GeckoGeek Window");
return 0;
}
Mon problème est que 'capture' s'initialise à 0. Il ne trouve pas ma webcam (webcam intégrée sur pc HP) j'ai donc essayé avec une webcam USB exactement la même chose.
Pourtant ces deux webcam fonctionne bien sous Cheese et Camorama, et sont bien reconnues dans /dev/video0 et video1.
J'attends vos remarques si vous avez des idées...
Merci.
Partager