ouvrir webcamera avec OpenCV et de le montrer avec QLabel - blanc fenêtre

Je travaille sur Win7 x64 avec OpenCV et Bibliothèques Qt et VS 2010.

J'aimerais ouvrir mon appareil photo avec OpenCV et puis pour afficher les images capturées avec Qt, par exemple à l'aide de QLabel, après la conversion à partir de Tapis de QImage.

Je veux le faire parce que pour utiliser les fonctions imshow("appareil photo", image) et waitKey() ralentit le streaming de la caméra.

C'est mon code:

int main () {
 QApplication a(argc, argv);
 QLabel myLabel;
 VideoCapture cap(0);
 //namedWindow(c"camera", 1);

 for (;;) {

    cap >> image;
        //conversion from Mat to QImage
    Mat dest;
    cvtColor(image, dest,CV_BGR2RGB);
    QImage image1= QImage((uchar*) dest.data, dest.cols, dest.rows, dest.step, QImage::Format_RGB888);

        //show Qimage using QLabel
    myLabel.setPixmap(QPixmap::fromImage(image1));
    myLabel.show();
    //imshow("camera",image);
    //if (waitKey(30)>= 0)  break;
 }
return a.exec();
}   

Webcam est ouvert correctement et fonctionne, Mais je vois une fenêtre blanche et pas les images capturées, comme vous pouvez le voir dans cette image
ouvrir webcamera avec OpenCV et de le montrer avec QLabel - blanc fenêtre

Si je ne commentez: namedWindow (..), imshow(..), if(waitKey(..), il fonctionne (j'en vois deux fenêtres avec les mêmes images), mais je afficher les images capturées avec OpenCV et c'est ce que je veux éviter.

Ma question est: je suis mauvais en quelque chose?? Je ne sais pas, la conversion à partir de Tapis de Qimage est le problème ??..
Ou, je ne peux pas afficher les images capturées uniquement avec Qt?

Merci!

OriginalL'auteur Cristina1986 | 2013-02-06