我在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);
当我运行它时,我收到以下错误:
Traceback(最近一次调用最后一次):文件 " C:/Users/R.K.singh/Desktop/Image processing / background-sep.py",line 20,在 fgbg = cv2.BackgroundSubtractorMOG2(); AttributeError:'模块'对象没有属性' BackgroundSubtractorMOG2'
请帮忙。
P.S:之前已经问过这个问题,但是没有一个解决方案有效。
答案 0 :(得分:5)
正如Axel所建议的,cv2.BackgroundSubtractorMOG2()
用于从视频帧中删除背景。
说到图像,您可以使用 GrabCut算法。 OpenCV文档包含tutorial,包括相关的Python代码。
您还可以观看这些视频,以便更好地了解图像分割: