OpenCV VideoCapture ne peut pas lire à partir de ma webcam à tous
Je suis en utilisant OpenCV 2.4.6 sur Ubuntu 13.04 (sur un Acer C7 Chromebook), et je suis en utilisant un programme de test simple pour voir si ma webcam fonctionnera avec OpenCV. Il fonctionne très bien avec le Fromage et Skype, donc je sais que la webcam n'est pas la question.
Voici mon code (qui compile sans erreurs):
#include "opencv2/opencv.hpp"
#include <stdio.h>
#include <stdlib.h>
using namespace std;
using namespace cv;
int main(int argc, char *argv[])
{
cv::VideoCapture cap;
if(argc > 1)
{
cap.open(string(argv[1]));
}
else
{
cap.open(CV_CAP_ANY);
}
if(!cap.isOpened())
{
printf("Error: could not load a camera or video.\n");
}
Mat frame;
namedWindow("video", 1);
for(;;)
{
waitKey(20);
cap >> frame;
if(!frame.data)
{
printf("Error: no frame data.\n");
break;
}
imshow("video", frame);
}
}
Si je lance le programme sans arguments (car je veux qu'il à utiliser CV_CAP_ANY), j'ai
Error: could not load a camera or video.
init done
opengl support available
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
Error: no frame data.
Si je spécifie /dev/video0 (ma seule caméra) comme argument, je reçois
demux_wavpack: (open_wv_file:127) open_wv_file: non-seekable inputs aren't supported yet.
(ERROR)icvOpenAVI_XINE(): Unable to open source '/dev/video0'
init done
opengl support available
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
libpng warning: Application built with libpng-1.2.49 but running with 1.5.12
GStreamer Plugin: Embedded video playback halted; module source reported: Could not read from resource.
Error: no frame data.
Si je spécifie le chemin d'accès à un fichier vidéo comme argument, il joue la vidéo juste fine.
J'apprécierais toute aide. Merci à l'avance!
OriginalL'auteur Jragon | 2013-07-12
Vous devez vous connecter pour publier un commentaire.
Il y a un bug sur Opencv 2.4.6 veuillez jeter un oeil ici
en outre, essayez ceci:
cv::VideoCapture cap = cv::VideoCapture(0);
Espère que ça a aidé !
vous êtes les bienvenus 😉
Je viens de terminé la suppression 2.4.6 et l'installation de 2.4.6.1, et mon code fonctionne perfecty!
Je suis heureux de voir que tout est ok pour vous.
OriginalL'auteur Poko
Vous pouvez essayer de varier la
waitKey(20)
valeur de 20 jusqu'à 80. Certains travaux informatiques à valeur 20,30,40,50....OriginalL'auteur X Sham