我正在使用以下代码从连接到视频采集卡的摄像头采集视频。
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。