关于opencv摄像头图像显示 经常出现select timeout的问题

来源:互联网 发布:Linux开机自启tomcat 编辑:程序博客网 时间:2024/05/17 08:28

最近在玩opencv摄像头人脸识别,我只调用了一个简单的打开摄像头程序

摄像头过不了多久就会出现select timeout 

这是摄像头跟电脑兼容不好的问题吗?

我是想在主程序监测这个select timeout 情况的发生,同时重启摄像头,但是这个情况我该怎么去发现呢??


int main()
{
    cvNamedWindow("AVI", CV_WINDOW_AUTOSIZE);
    CvCapture* capture = cvCreateCameraCapture(0);  //cvCreateFileCapture("1.AVI");  
        //从文件中获取视频,从摄像头中就用cvCreateCameraCapture(0)  
    IplImage* frame;


    while(1)
    {
        frame = cvQueryFrame(capture);
        if(!frame)
        {
            break;
        }
        cvShowImage("AVI", frame);


        char c = cvWaitKey(33);//33也可以用来控制帧率  
        if(c == 27)
        {
            break;//注意:27代表ESC键  
        }
    }


    cvReleaseCapture(&capture);
    cvDestroyWindow("AVI");


    return 0;
}

0 0