如何用python和opencv从图像中减去背景

3 投票
1 回答
10644 浏览
提问于 2025-04-18 04:28

如何从静态图片中去掉背景?如果是视频的话,我们可以用 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'

欢迎任何建议!

1 个回答

0
fgbg = cv2.createBackgroundSubtractorMOG2()

在opencv3的教程中没有这个内容 - 你可以使用:

fgbg = cv2.BackgroundSubtractorMOG2()

撰写回答