最近在玩opencv攝像頭人臉識別,我只調用了一個簡單的打開攝像頭程序視頻
攝像頭過不了多久就會出現select timeout it
這是攝像頭跟電腦兼容很差的問題嗎?opencv
我是想在主程序監測這個select timeout 狀況的發生,同時重啓攝像頭,可是這個狀況我該怎麼去發現呢??select
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;
}
程序