grabcut是一个非常实用的提取图像前景的算法。该方法是一种基于图切割的图像分割方法,是基于graph cut算法的改进。grabcut是需要少量用户交互操作。简单的说,就是需要用户指定要识别的区域。
opencv中提供了grabcut函数,直接调用就可以实现图像前景的提取。该函数的说明如下:
mask, bgdModel, fgdModel = cv2.grabCut(img, mask, rect, bgdModel, fgdModel, iterCount, mode=None)
参数说明:
- img: 输入图像,支持8位3通道
- mask: 掩码图像,可以设置为:
GCD_BGD(=0),背景;
GCD_FGD(=1),前景;
GCD_PR_BGD(=2),可能的背景