小编Nov*_*tar的帖子

OpenCV 和 GoPro - VideoCapture 流中的空帧

我有一个连接到视频采集卡 (AverMedia Game Broadcaster HD) 的 GoPro Hero 3+(黑色)。我只是想在 OpenCV 中获取视频流。使用罗技网络摄像头没有任何问题。使用的代码如下。

VideoCapture cap;
cap.open(0);

waitKey(300);

//cap.set(CV_CAP_PROP_FRAME_WIDTH, 1280);
//cap.set(CV_CAP_PROP_FRAME_HEIGHT, 720);

if (cap.isOpened()){
    cout << "Cam identified" << endl;
}

namedWindow("dst", 1);

while (1){

Mat frame;

if (!cap.read(frame)) {
    std::cout << "Unable to read frame from video stream" << std::endl;
    continue;
}

imshow("dst", frame);

[...]

}
Run Code Online (Sandbox Code Playgroud)

使用 GoPro 会发生以下情况:OpenCV 能够打开 VideoCapture(“已识别摄像头”)但无法读取任何帧(只有灰色屏幕和输出:“无法从视频流中读取帧”)。我还用 frame.empty(); 检查了这一点。

我知道视频采集卡工作正常,因为 Unity 使用 GoPro 流打开了一个 WebCamTexture,没有任何问题。我阅读了 OpenCv 中的编解码器问题,因此我已经尝试使用 FFMPEG 支持编译 OpenCV。现在可以显示 GoPro 录制的 MP4 视频,但流仍然不起作用。

我使用 OpenCV 2.48、Windows 7 …

c++ opencv ffmpeg video-capture gopro

5
推荐指数
1
解决办法
5671
查看次数

标签 统计

c++ ×1

ffmpeg ×1

gopro ×1

opencv ×1

video-capture ×1