我只是买这个:https ://www.amazon.fr/gp/product/B08CGVSRQV/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc= 1 ...我拥有一个gopro3,我想将它用作网络摄像头并与opencv一起工作.
我的系统:gopro3 => microHDMI 转 HDMI => HDMI 转 USB3(我在上面购买)=> 我的电脑。
在 Ubuntu 上,使用这个基本程序:
#include <iostream>
#include <opencv4/opencv2/opencv.hpp>
#include <opencv4/opencv2/videoio.hpp>
using namespace cv;
int main() {
VideoCapture vid(0);
if (!vid.isOpened()) {...}
Mat frame;
for(;;) {
vid >> frame; // get a new frame from camera
imshow("edges", frame);
if (waitKey(30) >= 0) break;
}
vid.release(); destroyAllWindows(); return 0;
}
出现一个小窗口,大约 800/600,一切正常,延迟良好,fps 好,质量差但没什么奇怪的。如果我强制 1920/1080:
vid.set(3, 1920);
vid.set(4, 1080);
我可以看到我的视频延迟大约为 1 秒,可能为 5 fps;
我想,也许我的 USB3 有问题(用于捕获 HDMI),但我尝试使用限制为 30fps 的“guvcview”并且一切正常(延迟、fps、质量)。
我不知道如何用 1920/1080/60 和 opencv 读取我的 gopro(30fps 应该足够好)。Gopro 能做 1920/1080/60,next cable 也能,采集卡也能,Ubuntu 也能......
也许问题不是opencv而是Ubuntu配置。
任何想法 ?