Python移除图片白色背景

在使用图片的时候有时候我们希望把背景变成透明的,这样就只关注于图片本身。解决办法:我们需要使用RGBA(Red,Green,Blue,Alpha),将alpha的透明度变为0,这样就可以了,但是效果不是很好,如果想好一点的操作,个人觉得要抠图。后面再来优化。

from PIL import Image

pic = Image.open('/Users/xujun/Desktop/1.png')
pic = pic.convert('RGBA') # 转为RGBA模式
width,height = pic.size
array = pic.load() # 获取图片像素操作入口
for i in range(width):
    for j in range(height):
        pos = array[i,j] # 获得某个像素点,格式为(R,G,B,A)元组
        # 如果R G B三者都大于240(很接近白色了,数值可调整)
        isEdit = (sum([1 for x in pos[0:3] if x > 240]) == 3)
        if isEdit:
            # 更改为透明
            array[i,j] = (255,255,255,0)

# 保存图片
pic.save('result.png')

可以看一下处理前后的对照图,总体扣除了:

Python移除图片白色背景

    原创文章(本站视频密码:66668888),作者:xujunzju,如若转载,请注明出处:https://zyicu.cn/?p=9266

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    xujunzju管理者
    上一篇 2022年2月8日 12:01
    下一篇 2022年2月11日 17:24

    相关推荐

    发表回复

    登录后才能评论
    联系我们
    邮箱:
    xujunzju@gmail.com
    公众号:
    xujunzju6174
    捐赠本站
    捐赠本站
    分享本页
    返回顶部