Python 设置函数cv2.createBackgroundSubtractorMOG2()的初始背景
关于cv2.createBackgroundSubtragtorMOG2()的简短问题 我有两个视频文件,一个包含背景,没有移动的物体。第二种是移动对象 这里的问题是,是否有可能在opencv的功能中设置背景帧,或者是否需要通过将第一幅图像转换为灰度,然后从运动对象所在的每一帧获取absdiff来获得自己的编码Python 设置函数cv2.createBackgroundSubtractorMOG2()的初始背景,python,opencv,background-subtraction,Python,Opencv,Background Subtraction,关于cv2.createBackgroundSubtragtorMOG2()的简短问题 我有两个视频文件,一个包含背景,没有移动的物体。第二种是移动对象 这里的问题是,是否有可能在opencv的功能中设置背景帧,或者是否需要通过将第一幅图像转换为灰度,然后从运动对象所在的每一帧获取absdiff来获得自己的编码 import cv2 cap = cv2.VideoCapture("PATH") fgbg = cv2.createBackgroundSubtractorMOG2() wh
import cv2
cap = cv2.VideoCapture("PATH")
fgbg = cv2.createBackgroundSubtractorMOG2()
while True:
ret, frame = cap.read()
if ret:
gray = cv2.cvtColor(frame, cv2.COLOR_RGB2YCrCb)
fgmask = fgbg.apply(gray, learningRate = 0.05)
else:
break
cap.release()
cv2.destroyAllWindows()
我知道.apply()函数中的学习率是背景学习的参数,但我想将其设置为0并拥有自己的背景。
如果可能的话,我们可以从opencv附带的背景减法器中分析更多具有相同背景帧的视频。
apply
也会更新模型(并且使用learningRate=1.0
会根据当前帧完全重置它)。。。所以,先在后台运行它,只运行视频,然后就可以了。谢谢,我会试试你的方法!