废话不多说,直接上代码了,有不明白的地方欢迎大家在评论区里面交流
#coding=utf-8
'''
author: 0moyi0
date: 2021/10/29 20:52
content: 把 3 通道的 jpg 格式的图片转换成 4 通道的 png格式的图片,留下图标部分,其余部分按照一定阈值进行透明处理
'''
# pip install Pillow
import PIL.Image as Image
import os
# 以第一个像素为准,相同色改为透明
def transparent_back(img):
img = img.convert('RGBA')
L, H = img.size
print(L, H)
# color_0 = (255, 255, 255, 255) # 要替换的颜色 RGBA 为四通道的颜色空间 第四个参数为 0 时表示透明 255 时全部显示
'''
RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅仅是RGB模型的附加了额外的信息。采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值,使得alpha渲染和alpha合成变得可能。提出者以alpha来命名是源于经典的线性插值方程αA + (1-α)B所用的就是这个希腊字母。
alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%则意味着一个完全不透明的像