我是opencv的新手,我目前正在开发一个使用MOG2从视频中提取背景和前景的项目。
我已经能够提取背景,但我在使用前景时遇到了一些问题。
这是我的代码:
import numpy as np
import cv2
cap = cv2.VideoCapture('capture.avi')
fgbg = cv2.createBackgroundSubtractorMOG2()
while True:
_, frame = cap.read()
if frame is None:
break
fgMask = fgbg.apply(frame)
bg = fgbg.getBackgroundImage(frame)
fg = cv2.absdiff(frame, bg)
cv2.imshow('frameMask', fgMask)
cv2.imshow('Background', bg)
cv2.imshow('Foreground', fg)
我可以正确地得到background
和frameMask
,但前景完全是黑色的