5

这是情况:

我们已经设法让相机与 OpenCv 2.4.0 和 Qt 5.0.2 一起工作。该相机应该能够以 30 fps 的速度录制 1080p 视频。

但是,在 1920x1080 录制时,我们会卡在 10 fps。

这是我们正在使用的代码:

Capture cv::VideoCapture;
Capture.open(0);
Capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920):
Capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);

我们已经尝试使用这个命令(我们从 logitech c920 with openCV 2.4.3 Capturing 1080p at 30fps 获得):

Capture.set(CV_CAP_PROP_FOURCC, 'M', 'J', 'P', 'G');

但没有任何成功。

我们相信相机的流可以在 h264(由于相机所做的内部转换)或 mjpg 中捕获。

就像我们说的那样,我们有点困惑/迷失了。

欢迎任何建议!谢谢

4

1 回答 1

2

您链接到的另一个问题中已经提到了您的问题的解决方案:您必须在设置所需的分辨率之前设置编解码器:

Capture cv::VideoCapture;
Capture.open(0);
Capture.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M','J','P','G'))
Capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920):
Capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);
于 2016-06-10T07:23:44.513 回答