2016-04-18 60 views
0

任何人都可以幫助我解決這個問題嗎? 我想要一個背景減法方法,用於在以前的opencv版本中使用cv2.BackgroundSubtractorMOG()方法時很好地運行。cv2.createBackgroundSubtractorMOG2()error

import cv2 
backsub = cv2.createBackgroundSubtractorMOG2() 
capture = cv2.VideoCapture("headcount.avi") 
i = 0 
if capture: 
    while True: 

    ret, frame = capture.read() 
    if ret: 
     fgmask = backsub.apply(frame, None, 0.01) 
     erode=cv2.erode(fgmask,Nonei,terations=3) 
     moments=cv2.moments(erode,True)   

但是,使用的OpenCV 3.1.0即時同時使用cv2.createBackgroundSubtractorMOG2()函數,這是我發現了錯誤面臨的問題,同時施加掩碼操作

錯誤: fgmask = backsub.apply(frame,1,0.01) 錯誤:C:\ builds \ master_PackSlaveAddon-win32-vc12-static \ opencv \ modules \ python \ src2 \ cv2.cpp:163:錯誤:(-215)數據應該正常爲NULL!在函數NumpyAllocator :: allocate

+0

嘗試用1)'fgmask = backsub.apply(幀)',或'fgmask = backsub.apply(幀,learningRate = 0.01)'或'backsub。 apply(frame,fgmask,0.01)' – Miki

+0

沒有得到任何東西。 –

回答