我在树莓派上使用OpenCV 3.4.4,我想在流视频上执行BackgroundSubtractorKNN。我使用前 300 帧作为背景,learning_rate = 1,然后我想使用这个模型来找到我的对象。因此,我将learning_rate设置为0,但模型会继续学习,如果对象保持稳定,它就会完全消失。
fgbg = cv2.createBackgroundSubtractorKNN(history=history,detectShadows=True)
inc=0
while inc<300
frame = cap.read()
fgmask = fgbg.apply(frame,1)
#fgbg.apply(frame, fgmask, -1) # I used also this method but won't work
inc +=1
while True
frame = cap.read()
fgmask = fgbg.apply(frame,0)
#fgbg.apply(frame, fgmask, 0) # I used also this method but won't work
cv2.imshow("Frame", frame)
我发现了这个问题,我尝试应用该解决方案,但没有效果。这是一个错误吗?因为我有另一个安装了 opencv 3.1 的 Raspberry pi,并且此代码完美运行。
我该怎么办?
我遇到了同样的问题,因此我认为这是一个错误。我尝试将
createBackgroundSubtractorMOG2()
替换为 createBackgroundSubtractorKNN()
,结果确实符合预期。