cvCreateCameraCapture renvoie la valeur null

J’ai une webcam qui fonctionne parfaitement dans vlc et qui est disponible sous le nom / dev / video0. Cependant, chaque fois que j’utilise cvCreateCameraCapture, il renvoie null. J’ai utilisé 0,1, -1 comme index. Quelle pourrait être la cause du problème? Je suis sur Ubuntu 9.10 BTW, en utilisant openCV 2.1.0.1 ppa.

J’utilise OpenCV 2.1 sur Ubuntu 9.04 et cela fonctionne bien:

CvCapture* capture = NULL; if ((capture = cvCaptureFromCAM(-1)) == NULL) { std::cerr << "!!! ERROR: cvCaptureFromCAM No camera found\n"; return -1; } 

Notez que j'utilise cvCaptureFromCAM () au lieu de cvCreateCameraCapture () .

J’ai également utilisé OpenCV sur Ubuntu (mais à partir du repository standard). J’ai eu des problèmes très similaires et la solution que j’ai trouvée était de comstackr OpenCV à partir des sources. J’ai activé l’option –with-v4l et cela a bien fonctionné (vous aurez peut-être aussi besoin d’autres drapeaux, en fonction de vos besoins). Si vous comstackz OpenCV vous-même, utilisez CMake. Il y a aussi des makefiles pour les marques “normales”, mais ils sont vieux.