Opencv ne peut pas accéder à ma webcam
J'ai de la difficulté à accéder à la webcam à l'aide d'opencv 2.4.3.
Mon Système:
Hp Probook 4530s - HP Fixe de la Webcam HD
Ubuntu 12.10
OpenCV 2.4.3
Si je veux saisir mon appareil photo intégré j'obtiens l'ERREUR: capture est NULLE
Je suis en utilisant http://opencv.willowgarage.com/wiki/CameraCapture exemple de code.
Exemple de code est:
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
//A Simple Camera Capture Framework
int main() {
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANY );
if ( !capture ) {
fprintf( stderr, "ERROR: capture is NULL \n" );
getchar();
return -1;
}
//Create a window in which the captured images will be presented
cvNamedWindow( "mywindow", CV_WINDOW_AUTOSIZE );
//Show the image captured from the camera in the window and repeat
while ( 1 ) {
//Get one frame
IplImage* frame = cvQueryFrame( capture );
if ( !frame ) {
fprintf( stderr, "ERROR: frame is null...\n" );
getchar();
break;
}
cvShowImage( "mywindow", frame );
//Do not release the frame!
//If ESC key pressed, Key=0x10001B under OpenCV 0.9.7(linux version),
//remove higher bits using AND operator
if ( (cvWaitKey(10) & 255) == 27 ) break;
}
//Release the capture device housekeeping
cvReleaseCapture( &capture );
cvDestroyWindow( "mywindow" );
return 0;
}
J'ai aussi essayé avec xawtv -hwscan à l'aide de taper terminal. J'obtiens ce résultat:
looking for available devices
port 129-144
type : Xvideo, image scaler
name : Intel(R) Textured Video`
/dev/video0: OK
[ -device /dev/video0 ]
type : libv4l
name : HP HD Webcam [Fixed]
flags: capture
alors je peux accéder à ma webcam tapant xawtv video0. Je pense que je n'ai aucun problème avec ma webcam.
J'ai de la difficulté avec opencv.
Si vous êtes à l'aide de C++ donne cet exemple de code d'essayer: docs.opencv.org/modules/highgui/doc/...
J'ai essayer ton code qui est dans docs.opencv.org/modules/highgui/doc/... il ne marche pas
Essayez d'utiliser d'autres numéros ici:
Je sais que ces arguments j'ai aussi essayer 0 1 2 même -1, mais cela ne marche pas.
essayez un autre web cam, j'.e externe, comme je suis sûr que j'ai lu quelque part que certains appareils ne fonctionnent pas. Si votre mesure de montrer qu'une autre cam fonctionne, alors vous saurez que vous avez un problème de pilote.
J'ai essayer ton code qui est dans docs.opencv.org/modules/highgui/doc/... il ne marche pas
Essayez d'utiliser d'autres numéros ici:
VideoCapture cap(0);
, par exemple, 1 et 2. Si cela n'aide pas, le problème n'est pas avec OpenCV.Je sais que ces arguments j'ai aussi essayer 0 1 2 même -1, mais cela ne marche pas.
essayez un autre web cam, j'.e externe, comme je suis sûr que j'ai lu quelque part que certains appareils ne fonctionnent pas. Si votre mesure de montrer qu'une autre cam fonctionne, alors vous saurez que vous avez un problème de pilote.
OriginalL'auteur burakim | 2013-01-20
Vous devez vous connecter pour publier un commentaire.
J'ai résolu mon problème il ya quelques minutes. Et j'ai décidé de partager ma solution pour les personnes qui manipulation d'erreur similaire.
D'abord je n'ai pas installer au-dessous de paquets ( je ne me souviens pas lequel d'entre eux, donc je collez tous)
libjpeg62-dev
libtiff4-dev
zlib1g-dev
libjasper-dev
libavcodec-dev
libdc1394-22-dev
libgstreamer0.10-dev
libgstreamer-plugins-base0.10-dev
libavformat-dev
de libv4l-dev
libswscale-dev
Ensuite, Vous devez configurer votre cmake processus avec ce code
Veuillez noter USE_V4L=SUR ce code..
J'espère que vous résoudre après la lecture de ma solution.
OriginalL'auteur burakim
Essayer le code ci-dessus...
case à modifier.....
programme de sortie de lie très vite. Je pense que, il est retourné -1 parce que !la webcam n'est pas ouvert.
essayez d'imprimer quelque chose...j'ai édité le code...
Il revient NE peut pas OUVRIR CAM
OriginalL'auteur rotating_image
Dans certains cas, il est descendu à la fonction intégrée de caméras le temps de réponse (comme il l'a été dans mon cas). J'ai découvert que la webcam sur mon HP G62 seulement "se réveille" après la première opencv cap.lire(frame). Par conséquent, pour obtenir un positif de lecture de la caméra (et donc pas d'erreur plus tard dans le code) j'ai fait de l'appeler plusieurs fois avant de continuer:
Pour moi, l'optimum est de 4 lire des appels, qui a assuré mon appareil photo était réveillé et sur l'avant de la course à travers le bloc de code principal. Il est possible qu'un simple "waitKey appel de travail, et seulement deux, lire les appels, bien que je n'ai pas essayé ce.
OriginalL'auteur gruffmeister