我使用的是氮素6x板与ov5640相机(mipi)。在OpenCV中使用自定义相机(通过GStreamer)
相机没有使用标准的V4L /为v41,但我们可以利用的GStreamer其驱动程序(mfw_v4l)视频流:
gst-launch mfw_v4lsrc ! autovideosink
我想通过GStreamer的调用,它可以利用OpenCV的摄像头(GStreamer的在OpenCV内部)。 我问了一个关于在OpenCV here内部调用GStreamer的问题,这是后续。
如果我启用GStreamer支持,它会检查in the source code,但OpenCV会尝试使用标准V4L/V4L2来更改GStreamer。 有关调用的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;
}
我想这是我应该努力以某种方式指向相机的驱动程序部分。 (这里的“type”可能是与驱动程序有关的数字(在precomp.hpp中定义),但什么是“文件名”?)
有关如何通过GStreamer访问摄像机的任何建议将会有所帮助和赞赏。 谢谢!
在其中的OpenCV版本的作品? –
在opencv v3之前无法正常工作 –