【问题标题】:Opencv MOG and GMG subtractor not workingOpencv MOG 和 GMG 减法器不工作
【发布时间】:2023-04-01 12:05:02
【问题描述】:

我一直在进行 opencv mog 和 gmg 背景减法, 我已经从

安装了opencv 3.3.0

https://github.com/Itseez/opencv_contrib

还有来自同一版本的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'

【问题讨论】:

    标签: python opencv mog


    【解决方案1】:

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

    你可以关注tutorial(3.0版的,3.3版的我没找到,不过是一样的),更深入的了解如何使用。

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

    fgbg = cv2.createBackgroundSubtractorMOG()
    

    而不是

    fgbg = cv2.BackgroundSubtractorMOG()
    

    那么其余的都是一样的。

    【讨论】:

    • 我创建了 mog 并且还使用了 fgbg.apply..但是我得到没有属性作为 BackgroundSubtractorMog()....
    • @Arvind 可能是 OpenCV python 安装不完整,我想你是通过源安装的,你确定这个模块被选中了吗?
    • 是的,因为没有安装contrib背景减法不起作用,但我安装后它起作用了,但只有mog不起作用,
    【解决方案2】:

    fgbg = cv.createBackgroundSubtractorMOG() 对我也不起作用,但是还有另一个改进的背景减法版本,它的工作原理类似 fgbg = cv2.createBackgroundSubtractorMOG2()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 2014-05-21
      相关资源
      最近更新 更多