Opencv MOG和GMG减法器无法正常工作

时间:2017-07-11 08:37:37

标签: python opencv mog

我一直在通过opencv mog和gmg背景减法, 我从

安装了opencv 3.3.0

email receipts

以及来自同一版本的opencv, 但是我仍然找不到MOG无法工作,因为mog 2正在工作,

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

fgbg = cv2.BackgroundSubtractorMOG()

while(1):
   ret, frame = cap.read()

   fgmask = fgbg.apply(frame)

   cv2.imshow('frame',fgmask)
   if cv2.waitKey(1) & 0xFF == ord('q'):
        break 

cap.release()
cv2.destroyAllWindows()

我收到以下错误消息

Traceback (most recent call last):
  File "back.py", line 6, in <module>
    fgbg = cv2.BackgroundSubtractorMOG()
AttributeError: 'module' object has no attribute 'BackgroundSubtractorMOG'

2 个答案:

答案 0 :(得分:0)

问题是你没有调用正确的函数来创建背景减法器......

您可以按照tutorial(适用于版本3.0,但我找不到3.3,但它是相同的)来更深入地解释如何使用它。

正如您在我提供的链接中所看到的,您必须致电

fgbg = cv2.createBackgroundSubtractorMOG()

而不是

fgbg = cv2.BackgroundSubtractorMOG()

其余的是相同的。

答案 1 :(得分:0)

fgbg = cv.createBackgroundSubtractorMOG() 也不适合我,但有另一个改进版本的背景减法工作类似 fgbg = cv2.createBackgroundSubtractorMOG2()