[英]Creating a 25fps slow motion video from a 100fps GoPro .mp4 video with C++/OpenCV
[英]C++/opencv/Ubuntu : GoPro very low fps
我只買這個: 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)有問題,但我嘗試了“guvcview”,它限制為 30fps,一切正常(延遲、fps、質量)。
我不知道如何用 1920/1080/60 和 opencv 讀取我的 gopro(30fps 應該足夠了)。 Gopro 可以做 1920/1080/60,下一個電纜也可以,采集卡也可以,Ubuntu 也可以...
也許問題不是 opencv 而是 Ubuntu 配置。
任何的想法 ?
我有同樣的問題,但在 Windows 上。 指定視頻捕獲以使用 DSHOW 為我解決了問題
cv::VideoCapture cap(0 + cv::CAP_DSHOW);
但不幸的是,據我所知,DSHOW 僅適用於 Windows。 但也許這是后話,您必須指定另一個 API 來用於讀取視頻流。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.