我正在使用以下代码从连接到视频捕获卡的相机捕获视频。
int main() {
cv::VideoCapture cap(2);
if(!cap.isOpened())
{
std::cerr << "ERROR: Could not open camera." << std::endl;
return -1;
}
cv::Mat frame;
while(1){
cap >> frame;
cv::imshow("frame",frame);
cvWaitKey(10);
}
}
当我使用usb网络摄像头时没有问题,代码完美无缺。但是,使用视频采集卡,我看不到任何视频流!也没有错误!当我在循环中放置一个断点时,我可以在几次迭代后看到视频。起初我认为这个问题与延迟有关,并增加了等待时间,即cvWaitKey(30)
,但这也没有帮助。它的唯一工作方式是断点!我不明白断点有什么特别之处!
请帮忙!我必须使用这个视频捕获卡,并希望从这个代码生成一个可执行文件,这是没有断点的工作!任何评论都表示赞赏。
注意:我使用的是Windows。