为啥我的直播摄像头严重滞后于 OpenCV+Qt [关闭]

Posted

技术标签:

【中文标题】为啥我的直播摄像头严重滞后于 OpenCV+Qt [关闭]【英文标题】:Why does my live stream camera lag severely with OpenCV+Qt [closed]为什么我的直播摄像头严重滞后于 OpenCV+Qt [关闭] 【发布时间】:2019-05-08 07:03:00 【问题描述】:

使用 Visual Studio 2019,我成功构建了 OpenCV 库 WITH_QT 启用。 使用我的网络摄像头进行的直播严重滞后。这是代码。

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()

    VideoCapture cap(0); // open the default camera
    if (!cap.isOpened())  // check if we succeeded
        return -1;

    Mat frame;
    const string name = "frame";
    namedWindow(name,WINDOW_GUI_NORMAL);

    while (true)
    
        cap >> frame; // get a new frame from camera
        imshow(name, frame);
        if (waitKey(30) >= 0) break;
    
    cap.release();

问题

是什么导致了延迟?

注意:几周前,当我在没有 Qt 的情况下使用 OpenCV 并使用我的旧电脑(got burnt 之前)时,直播并没有延迟。

【问题讨论】:

“严重”滞后是什么意思?你得到什么帧速率? @user1810087:我无法准确测量帧速率,但大约是 1/3-1/4 fps。 【参考方案1】:

好的。我得到了解决方案,但我不知道原因。 我从 USB 3.0 上拔下网络摄像头并插入 USB 2.0。现在运行顺利。 如果您认为必须删除此问题和答案,我会这样做。

【讨论】:

以上是关于为啥我的直播摄像头严重滞后于 OpenCV+Qt [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

当我使用 rtsp 摄像头流时,opencv 视频捕获滞后

使用 OpenCV 来自 2 个摄像头(用于立体视觉)的视频,但其中一个摄像头滞后

由于捕获缓冲区,OpenCV VideoCapture滞后

由于捕获缓冲区,OpenCV VideoCapture 滞后

如何在 Qt5 中使用 OpenCV

Python QT5 - 多进程 OpenCV 网络摄像头和 Requests.Get