如何使用 OpenCV4 C++ 从 c920 相机获取帧

Posted

技术标签:

【中文标题】如何使用 OpenCV4 C++ 从 c920 相机获取帧【英文标题】:How to get frames from c920 camera using OpenCV4 C++ 【发布时间】:2019-07-13 13:00:31 【问题描述】:

我正在尝试从 Logitec c920 相机获取帧 并向他们展示。 摄像头似乎在工作,但显示窗口上没有显示任何内容。

我尝试配置所有相机设置,但没有。 我错过了什么???


    #include "pch.h"
    #include <iostream>
    #include "opencv2\imgcodecs.hpp"
    #include "opencv2\core.hpp"
    #include "opencv2\highgui.hpp"
    #include "opencv2\videoio.hpp"

    using namespace std;
    using namespace cv;

    int main()
    

        VideoCapture camera(CAP_ANY);

        Mat frame;
        namedWindow("x", WINDOW_AUTOSIZE);

        camera.set(CAP_PROP_FOURCC, VideoWriter::fourcc('M', 'J', 'P', 'G'));
        camera.set(CAP_PROP_FRAME_WIDTH, 1920);
        camera.set(CAP_PROP_FRAME_HEIGHT, 1080);


        while (1)
        

            camera.read(frame);
            imshow("x", frame);

        

        waitKey(0);
        return 0;

    

【问题讨论】:

【参考方案1】:

你必须在每一帧之后加上waitKey(int delay)。您的 while 循环应如下所示:

while (1)
    

        camera.read(frame);
        imshow("x", frame);
        waitKey(1);

    

【讨论】:

以上是关于如何使用 OpenCV4 C++ 从 c920 相机获取帧的主要内容,如果未能解决你的问题,请参考以下文章

从项目数组设置增量值

升级到 macOS Catalina 后使用 cmake 为 c++ 构建 opencv4 失败

如何使用 opencv 和多线程 (logitech c920) 在 python 中捕获视频

OpenCV4 视频教程来了....

cv2.VideoWriter 不会使用fourcc h.264写入文件(使用罗技c920,python 2.7,windows 8)

C++ 原生 OpenCV 到 opencv4android 端口太慢?