最近在玩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;
}