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 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