Python3 AttributeError: module 'cv2' has no attribute 'createBackgroundSubtractorMOG'

1501 ワード

質問:python 3でcv 2.createBackgroundSubtractorMOG()を使用する場合、エラーが発生する可能性があります:AttributeError:module'cv 2'has no attribute'createBackgroundSubtractorMOG'
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
fgbg = cv2.createBackgroundSubtractorMOG()
while(1):
    ret, frame = cap.read()
    fgmask = fgbg.apply(frame)
    cv2.imshow('frame',fgmask)
    k = cv2.waitKey(30) & 0xff
    if k == 27:
        break
cap.release()
cv2.destroyAllWindows()

エラーメッセージ:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
 in ()
      2 import cv2
      3 cap = cv2.VideoCapture(0)
----> 4 fgbg = cv2.createBackgroundSubtractorMOG()
      5 while(1):
      6     ret, frame = cap.read()

AttributeError: module 'cv2' has no attribute 'createBackgroundSubtractorMOG'

解決:fgbg=cv 2.createBackgroundSubtractorMOG()を次のように置き換えます.
              fgbg = cv2.createBackgroundSubtractorMOG2() 
分析:
        python 3では、cv 2.createBackgroundSubtractorMOG()メソッドがcv 2.createBackgroundSubtractorMOG 2()に変更されていません.
変更例:
fgbg = cv2.createBackgroundSubtractorMOG2()

 
説明:問題発生環境           Pythonバージョン:3.6.5           OpenCVバージョン:3.4.2
変換元:https://blog.csdn.net/yuxuan_08/article/details/87966904