【发布时间】:2014-06-27 13:05:25
【问题描述】:
我正在使用 Nitrogen6x 板和 ov5640 相机(mipi)。
相机没有使用标准的 v4l/v4l,但我们可以使用 GStreamer 作为其驱动程序 (mfw_v4l) 流式传输视频:
gst-launch mfw_v4lsrc ! autovideosink
我想通过 GStreamer(OpenCV 中的 GStreamer)调用它来在 OpenCV 中使用相机。 我问了一个关于在 OpenCV here 中调用 GStreamer 的问题,这是后续。
如果我启用 GStreamer 支持,它会检查 in the source code,但 OpenCV 会尝试对我想要更改的 GStreamer 使用标准 V4L/V4L2。 关于调用GStreamer的部分在cap_gstreamer.cpp:
CvCapture* cvCreateCapture_GStreamer(int type, const char* filename )
{
CvCapture_GStreamer* capture = new CvCapture_GStreamer;
if( capture->open( type, filename ))
return capture;
delete capture;
return 0;
}
我想这是我应该研究的部分,以某种方式指向相机的驱动程序。 (这里的“类型”可能是与驱动程序相关的数字(定义在 precomp.hpp 中),但“文件名”是什么?)
任何有关如何通过 GStreamer 访问相机的建议都会有所帮助和赞赏。 谢谢!
【问题讨论】:
标签: c++ c opencv camera gstreamer