python-opencv AttributeError:'module'对象没有属性'createBackgroundSubtractorGMG'

okk*_*hoy 7 python opencv

我正在尝试遵循以下教程:https: //opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html

在尝试第三个示例(BackgroundSubtractorGMG)时,我收到此错误:

AttributeError: 'module' object has no attribute 'createBackgroundSubtractorGMG'
Run Code Online (Sandbox Code Playgroud)

我在前面的例子中得到了同样的错误.但我按照这篇文章中给出的解释.一些如何,同样的伎俩在这里不起作用.

如果有人设法解决它,请帮助我.

在Ubuntu 12.04上使用Python 2.7.3和opencv 2.4.6.1

Sve*_*wei 11

在OpenCV 3.0.0-dev中,您必须使用contrib repos进行编译,然后将其放在bgsegm子模块中.即只需调用cv2.bgsegm.createBackgroundSubtractorGMG()

  • @Maximilian您确定您的版本是使用opencv_contrib编译的吗? (2认同)

小智 8

cv2.bgsegm.createBackgroundSubtractorGMG()
cv2.createBackgroundSubtractorMOG2()
cv2.bgsegm.createBackgroundSubtractorMOG(),
Run Code Online (Sandbox Code Playgroud)

**这对我有用**


ber*_*rak 5

哦,亲爱的,这就是的另一个那些故事......

在2.4.6中,您只能从python使用BackgroundSubtractorMOG。(句号)

从2.4.8版本开始,BackgroundSubtractorMOG2问题似乎已解决,但BackgroundSubtractorGMG仍然缺失。

对于这两个版本,您都可以使用普通的构造函数来创建一个。

在3.0(主版本)中,他们更改了语法,现在您必须调用“ createBackgroundSubtractorGMG”,“ createBackgroundSubtractorMOG2”等(这就是您的教程可能引用的内容)。但现在您至少可以使用所有3个版本。

因此,无论如何,如果要使用BackgroundSubtractorMOG2,则必须更新为2.4.8,如果需要BackgroundSubtractorGMG,则需要3.0(某种程度上是“出血边缘”,但是新界面具有更好地控制所需的参数,恕我直言)。