如何使用Python和OpenCV从图像中减去背景

3
如何从静止图像中减去背景?如果问题出现在视频中,我们可以使用cv2.createBackgroundSubtractorMOG()。我试图操纵这个函数,但出现了AttributeError错误。
以下是我尝试过的代码:
img = cv2.imread('lena.png')
fgbg = cv2.createBackgroundSubtractorMOG2()
fgmask = fgbg.apply(img)
cv2.imwrite('{0:d}.jpg'.format(i),fgmask)

但是我遇到了这个错误:
AttributeError: 'module' object has no attribute 'createBackgroundSubtractorMOG2'

欢迎提出任何建议!

@数字 我已经添加了我尝试过的内容。我不知道我是否正确。 - user3483746
@user3483746 如果你只给算法一张单独的图片,它就无法知道什么是前景,什么是背景,除非你以某种方式告诉它... - BConic
@medloh 这个函数在OpenCV 2.4.6版本中是否可用?Core.absdiff()? - user3483746
2
createBackgroundSubtractorMOG2 替换为 BackgroundSubtractorMOG - Tzach
显示剩余6条评论
1个回答

0
fgbg = cv2.createBackgroundSubtractorMOG2()

在OpenCV3教程中,不提供此功能 - 相反地,您可以使用以下方法:

fgbg = cv2.BackgroundSubtractorMOG2()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接