我正在使用以下代码从连接到视频捕获卡的相机捕获视频 .

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 .