0

我是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)

我可以正确地得到backgroundframeMask,但前景完全是黑色的

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

0 回答 0