Python OpenCV GrabCut进行前景分割和提取
图像掩模Mask是图像处理的基本概念。这篇博客将介绍如何使用OpenCV和GrabCut算法执行前景分割和提取。Grabcut算法通过CV2.grabcut实现,可以通过以下任一方法初始化:
1)前景边界框,屏蔽近似图像中对象的像素的位置
2)使用近似前景掩码;
虽然基于深度学习的图像分割网络(例如,掩码R-CNN和U-NET)实际检测和近似图像中对象的掩码,但也并不完美,可能带有噪点;可以辅助使用Grabcut来清理这些细分网络返回的“杂乱”掩码!
1. 效果图
1.1 边界框GrabCut效果图
输入图像 VS GrabCut Mask VS 最终效果图
构建第一张输入图像可以使用Thresholding、Canny边缘检测,轮廓检测,基于深度学习的分割以及cv2.inRange(hsv,low_color,high_color)颜色范围