matplotlib读取RGB图片的时候,往往把图片转化为四通道图片,其中第四个通道是α通道,可以决定图像的透明度。
如果把图片的前景的透明度设定为1,背景的透明度设定为0,那么就算去掉了背景了。
原图。
代码。
出图。
有部分白色背景由于不够白,被保留了下来。
换图。
观察可知,背景是深浅不一的蓝色。
深色参数是a[0,0],浅色区域比较多,也不容易确定位置。
用如下代码抠图,太狠!
再修改代码。
if a[i,j,2]>1.5*a[i,j,0] and a[i,j,2]>1.2*a[i,j,1]:
不准抠去黑色部分。经过逐步调整颜色阈值,得到下面的效果。
上面代码如下。