OpenCV2 Python createBackgroundSubtractor module not found

后端 未结 7 1542
抹茶落季
抹茶落季 2020-12-31 05:02

I am trying to use cv2.createBackgroundSubtractorMOG2 () method in Python. I have tried both on my Mac and on my Raspberry Pi, and get the same error when running the follow

相关标签:
7条回答
  • 2020-12-31 05:04

    Thanks for the comments all. It seems that createBackgroundSubtractorMOG2() hasn't been added to OpenCV 2.4, but it is present in master branch, which can be compiled from github.

    I am finding that cv2.BackgroundSubtractor() is working for what I need at the moment.

    See http://code.opencv.org/issues/2812#note-5 for more details.

    0 讨论(0)
  • 2020-12-31 05:11

    According to https://docs.opencv.org/master/db/d5c/tutorial_py_bg_subtraction.html You should use cv.bgsegm.createBackgroundSubtractorMOG()

    I tested it on 3.4.0-dev and it worked.

    Example Code:

    import numpy as np
    import cv2 as cv
    cap = cv.VideoCapture('vtest.avi')
    fgbg = cv.bgsegm.createBackgroundSubtractorMOG()
    while(1):
        ret, frame = cap.read()
        fgmask = fgbg.apply(frame)
        cv.imshow('frame',fgmask)
        k = cv.waitKey(30) & 0xff
        if k == 27:
            break
    cap.release()
    cv.destroyAllWindows()
    
    0 讨论(0)
  • 2020-12-31 05:16

    cv2.createbackgroundSubstractor() works in cv 3.0 for 2.4.x use cv2.BackgroundSubstractor()

    0 讨论(0)
  • 2020-12-31 05:21
    >>> import cv2
    >>> cv2.__version__
    >>> 3.2.0
    >>>bg_model = cv2.BackgroundSubtractorMOG2(0, 10)
    Traceback (most recent call last):
      File "/home/manivannan/pythonexamle/opencv/Samples/hand-gesture-recognition-opencv/HandRecognition.py", line 233, in <module>
        bg_model = cv2.BackgroundSubtractorMOG2(0, 10)
    AttributeError: 'module' object has no attribute 'BackgroundSubtractorMOG2'
    >>>bg_model = cv2.createBackgroundSubtractorMOG2(0, 10)
    

    Use createBackgroundSubtractorMOG2 instead of BackgroundSubtractorMOG2 It's Working

    0 讨论(0)
  • 2020-12-31 05:24

    Replace the create.... with

    fgbg = cv2.BackgroundSubtractorMOG()

    0 讨论(0)
  • 2020-12-31 05:27

    I'm using

    >>> import cv2
    >>> cv2.__version__
    >>> 3.2.0
    

    and python 2.7.12. While I tried to use cv2.createBackgroundSubtractorMOG() I received the same error message (also tried without "create..."). But I was surprised when I discovered cv2.createBackgroundSubtractorKNN() with the same functionality instead ... and the test code works :) 2 days I was confused and couldn't find where the problem is.

    0 讨论(0)
提交回复
热议问题