抠图是ps最基本的技能,使用python一行代码即可实现灰度抠图。基本算法是Otsu方法,确定图像二值化分割阈值,将图像分为背景和前景两部分,并最大化背景和前景的类间方差。具体理论部分可以搜索大津法。代码部分只要在调用threshold的函数中,参数选择THRESH_OTSU就可以调用otsu方法除ret1,th1=cv2.threshold(gray,0,255,cv2.THRESH_OTSU)整个代码如下,将原图、直方图和分割后的图像放在一起进行对比显示(131),plt.imshow(图像,“图像”)plt.title(“源图像”),plt.xticks([]),plt.yticks([])plt.subplot(132),plt.hist(image.ravel(),256)plt.title("Histogram")ret1,th1=cv2.threshold(gray,0,255,cv2.THRESH_OTSU)#方法选择是THRESH_OTSUplt.subplot(133),plt.imshow(th1,"gray")plt.title("OTSU,thresholdis"+str(ret1)),plt.xticks([]),plt.yticks([])plt.show()抠图结果如下但该算法对噪声和目标大小非常敏感,当背景和前景像素接近时分割效果不好
