如何从图像中分离背景?

sin*_*ist 1 python opencv image-processing

我在Python 2.7中使用OpenCV 3.1.我试图分离背景和前景对象,并使用此:

img = cv2.imread('testimage.jpg', cv2.IMREAD_COLOR);
fgbg = cv2.BackgroundSubtractorMOG2();
fgmask = fgbg.apply(img);
cv2.imshow("backsep",fgmask);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到以下错误:

回溯(最近一次调用最后一次):文件"C:/ Users/RKsingh/Desktop/Image processing/background-sep.py",第20行,fgbg = cv2.BackgroundSubtractorMOG2(); AttributeError:'module'对象没有属性'BackgroundSubtractorMOG2'

请帮忙.

PS:之前已经问过这个问题但是没有一个解决方案有效.

Jer*_*uke 5

正如Axel建议cv2.BackgroundSubtractorMOG2()用于从视频帧中删除背景.

说到图像,您可以使用GrabCut算法.OpenCV文档包含一个包含相关Python代码的教程.

您还可以观看这些视频,以便更好地了解图像分割: