OpenCV webcam capture problème
J'ai installé OpenCV 2.2 et maintenant je ne peux pas obtenir de capture de votre webcam pour le travail. Il a travaillé sur ok dans la section 2.1. OpenCV détecte une webcam, de ne pas signaler des erreurs ou des avertissements, mais chaque image est une image en nuances de gris. J'ai même essayé un exemple de code à partir d'OpenCV wiki:
VideoCapture cap(0); //open the default camera
if(!cap.isOpened()) //check if we succeeded
return -1;
Mat edges;
namedWindow("edges",1);
for(;;)
{
Mat frame;
cap >> frame; //get a new frame from camera
cvtColor(frame, edges, CV_BGR2GRAY);
//GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
//Canny(edges, edges, 0, 30, 3);
imshow("edges", edges);
if(waitKey(30) >= 0) break;
}
//the camera will be deinitialized automatically in VideoCapture destructor
return 0;
Quelqu'un a rencontrer ce genre de problème? Je suis en 64bit Win7 et Visual Studio 2010.
Qu'entendez-vous par "une image en nuances de gris"? Gris uni, sans structure? Ou, juste une image en niveaux de gris? Vous appelez cvtColor() pour les niveaux de gris de l'image, et la imshow() l'appel est de montrer la version en niveaux de gris...
Solide gris, pas de niveaux de gris.
Parfois, cela ib est un peu lent. Ajouter un
J'ai le même problème. Mon code a très bien fonctionné avec OpenCV 2.1, puis j'ai mis à OpenCV2.2, et soudain, tout d'entrée de la caméra est affichée comme un tout gris de l'image. La rétrogradation à la OpenCV2.1 résolu le problème, mais qui ne peut pas être la solution. OpenCV2.2 question?
Solide gris, pas de niveaux de gris.
Parfois, cela ib est un peu lent. Ajouter un
sleep(1)
ou cv::waitKey(100)
avant de Tapis de bord et ajouter le même à l'intérieur de la boucle for. Cela devrait fonctionner. Et n'oubliez pas de chekc si frame
est un prper image.J'ai le même problème. Mon code a très bien fonctionné avec OpenCV 2.1, puis j'ai mis à OpenCV2.2, et soudain, tout d'entrée de la caméra est affichée comme un tout gris de l'image. La rétrogradation à la OpenCV2.1 résolu le problème, mais qui ne peut pas être la solution. OpenCV2.2 question?
OriginalL'auteur Figaro | 2010-12-13
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la solution après une très longue recherche.
Le problème est que si ne pas avoir un délai entre l'affichage des images se produire ce problème.
La solution est de mettre
cvWaitKey(20);
en boucle.OriginalL'auteur Victor
Le problème était avec la caméra que j'ai utilisé, MSFT LifeCam. J'ai essayé de Logitech C210 et 120 et ils travaillent tous les deux très bien.
OriginalL'auteur Figaro
Voici la Solution.
Chaque image capturée est en cours de conversion en niveaux de gris de l'image dans la première ligne ci-dessous.
Commentaires et d'exécuter le code, seront les seuls à afficher une erreur depuis puisque vous n'êtes pas capturer l'image traitée dans les bords, qui est affiché dans imshow.
Donc de commenter les
cvtColor
ligne et de modifier le deuxième paramètre dansimshow
àframe
. Cela vous permettra d'afficher la vidéo en couleurs à partir de la webcam.OriginalL'auteur user1555123
Je ne sais rien à propos de OpenCV, mais ce N'est pas le problème sur la ligne suivante ?
Semble que vous êtes intentionnellement la conversion d'un B-G-R de l'espace couleur en niveaux de Gris de l'espace.
Ne devrait-il pas être quelque chose comme:
C'est le problème en donnant mon opinion sur un sujet que je ne connais pas... 🙂 je pensais que le problème était l'image en niveaux de gris, pas de gris de l'image elle-même... je suis Bête. 🙂
OriginalL'auteur Machado
Vous pourriez tenter un coup d'oeil à ce post.
Pour faire simple, la modification de
de
à
a fonctionné pour moi. Voir aussi le post ici.
OriginalL'auteur David
J'ai eu le même problème. J'ai pensé qu'il pourrait être les paramètres de mon appareil photo, parce que j'étais censé avoir une entrée de 640x480px (dont je ne pouvais pas régler) et je ne pouvais pas modifier les autorisations pour le nourrir. J'ai donc installé un virtual webcam, qui assez bien résolu les deux problèmes. J'ai une boite de dialogue, choisissez la caméra virtuelle et cela a fonctionné. J'ai réussi à le mettre à 640x480 dans l'application.
Ma caméra virtuelle a été appelé ManyCam, mais on dirait qu'il est fait pour les adolescentes, a voulu m'installer 3 autres apps et je ne suis toujours pas sûr de la météo, il ne vient pas avec "complémentaire" chevaux de troie.
Cependant, il vous permet d'ajuster les couleurs, la teinte, le contraste, etc. et d'autres choses que vous pourriez avoir besoin pour les tests.
OriginalL'auteur TheEngineer
Je suis en utilisant cvtColor et a constaté que
cvtColor(image,image,CV_BGR2RGB);
n'a pas fonctionné.Mais la bonne nouvelle, c'est que ce changement de travail !!
Comprennent également:
et dans le .pro fichier de la bibliothèque:
OriginalL'auteur Nico Carosio
Essayez ceci:
OriginalL'auteur Saransh Kejriwal