gpt4 book ai didi

python - BackgroundSubtractorMOG 在离开框架后仍然保留对象

转载 作者:太空狗 更新时间:2023-10-30 00:44:44 26 4
gpt4 key购买 nike

我尝试使用 BackgroundSubtractorMOG 移除背景,但有些对象已经离开了框架,但 BackgroundSubtractorMOG.apply() 的结果仍然显示该对象仍在场景中。

这是我的代码

inputVideo = cv2.VideoCapture('input.avi')
fgbg = cv2.BackgroundSubtractorMOG()

while inputVideo.isOpened():
retVal, frame = inputVideo.read()

fgmask = fgbg.apply(frame)

cv2.imshow('Foreground', fgmask)
cv2.imshow('Original', frame)
if cv2.waitKey(1) & 0xFF == 27:
break

我也尝试过使用自定义参数(history = 200,nmixtures = 5,ratio = 0.8)的 BackgroundSubtractorMOG,但结果是一样的。我做错了什么或有什么建议吗?请帮忙。

最佳答案

问题出在 fgbg.apply 中。出于某种原因,learningRate 设置为 0。像这样打电话:

history = 10   # or whatever you want it to be

fgmask = fgbg.apply(frame, learningRate=1.0/history)

感谢 Sebastian Ramirez,他在 opencv 中发起了一个 ticket 并找到了解决方案

关于python - BackgroundSubtractorMOG 在离开框架后仍然保留对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com