2016-04-18 2 views
0

Может ли кто-нибудь помочь мне в этом? Я пытаюсь использовать метод Subtracting для фона, который отлично используется при использовании метода cv2.BackgroundSubtractorMOG() в предыдущих версиях opencv.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

Не получилось ничего. –

ответ