【问题标题】:OpenCV VideoCaptures sometimes returns blank framesOpenCV VideoCapture 有时会返回空白帧
【发布时间】:2016-02-23 19:07:35
【问题描述】:

我正在使用以下代码在 MS VC++ 2012 中使用 openCV3 从 USB 网络摄像头捕获视频帧。但问题是,有时我能够以 30 fps 的速度显示捕获的帧,但有时我会得到非常黑的帧低 fps(或具有高延迟)。换句话说,程序是随机运行的。你知道我该如何解决这个问题吗?我尝试了 stackoverflow 或其他一些地方建议的不同解决方案,但都没有解决问题。

VideoCapture v(1);
v.set(CV_CAP_PROP_FRAME_WIDTH, 720);
v.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
if(!v.isOpened()){
   cout << "Error opening video stream or file" << endl;
   return;
}

Mat Image;
namedWindow("win",1);

while(1){
    v >> Image;
    imshow("win", Image);
}

【问题讨论】:

    标签: c++ opencv video capture


    【解决方案1】:

    试试这个:

    while(1){
        v >> Image;
        imshow("win", Image);
        char c=waitKey(10);//add a 10ms delay per frame to sync with cam fps
        if(c=='b')
           {
                break;//break when b is pressed
           }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2021-11-29
      • 2017-04-14
      相关资源
      最近更新 更多