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

时间:2019-07-13 13:00:31

标签: c++ opencv4

我正在尝试从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 个答案:

答案 0 :(得分:0)

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

while (1)
    {

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

    }