OpenCV2设置VideoBackend

时间:2018-02-25 03:15:08

标签: c++ opencv video-capture

参考opencv VideoCapture文档here,有一些属性仅适用于DC1394 v 2.x后端(特别是CV_CAP_PROP_BUFFERSIZE是我想要更改的)。在我的机器上查看openCV的buildInformation,我看到它是在支持DC1394 v 2.x,FFMPEG,Gstreamer的情况下编译的。在初始化VideoCapture时,我无法弄清楚如何设置视频后端。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

查看VideoCapture source code,似乎无法在opencv 2.4中使用特定后端打开。

实际上它只会选择它可以在代码中定义的顺序找到的第一个后端(例如,假设您已经为ffmpeg和gstreamer编译了opencv,首先是ffmpeg,第二个是gstreamer,如果你分发你的二进制文件对某人而言他们有gstreamer而不是ffmpeg它将无法打开视频捕获但继续搜索下一个选项,在本例中为gstreamer)。因此,据我所知,您有3种选择使用DC1394后端:

  1. 修改源,使其始终首先尝试搜索DC1394(或者甚至进一步添加一个函数来选择后端)
  2. 仅支持DC1394作为视频后端进行编译
  3. 将您的代码转换为opencv 3.x,可以选择在opening视频捕获器时设置后端。