python opencv3.0.0-beta'module'对象没有属性'createBackgroundSubtractorMOG()'

时间:2014-12-09 08:00:26

标签: python opencv

import cv2
fgbg = cv2.createBackgroundSubtractorMOG()
fgbg1 = cv2.createBackgroundSubtractorGMG()

AttributeError: 'module' object has no attribute 'createBackgroundSubtractorMOG()'
AttributeError: 'module' object has no attribute 'createBackgroundSubtractorMOG()'

环境:

  • x64 win7
  • win32 python 2.7.3
  • opencv 3.0.0-beta

我该怎么办?

4 个答案:

答案 0 :(得分:7)

您可能对BackgroundSubtractorMOG2感兴趣,虽然没有记录,但在opencv 3.0.0-beta中有一个python绑定。

import cv2
fgbg = cv2.createBackgroundSubtractorMOG2(detectShadows=True)

答案 1 :(得分:4)

两者都被移到3.0 opencv_contrib repo

您需要使用cmake与主opencv repo一起构建它。 (没有这个可用的预构建版本)然后运行INSTALL项目(或make install)会将你的新cv2.pyd复制到python文件夹。

然后:

>>> import cv2
>>> cv2.bgsegm.createBackgroundSubtractorMOG # note additional bgsegm namespace !
<built-in function createBackgroundSubtractorMOG>

答案 2 :(得分:0)

使用cv2.BackgroundSubtractorMOG() 因为cv2.createBackgroundSubtractorMOG2已在最新版本的 opencv 中被替换。

答案 3 :(得分:0)

尝试以下解决方案之一:

cv2.bgsegm.createBackgroundSubtractorMOG()

或:

cv2.bgsegm.createBackgroundSubtractorMOG2()