最近正好在办理入职需要用到蓝底的证件照,我目前只有一个白底的,在网上百度很多工具都需要付费,一气之下叫ChatGPT帮我写了一个哈哈哈。
最开始写的不太符合要求,人物旁边都是白色区域(这一段的代码就不上了,给GPT留点面子)。我就吐槽了代码运行后的效果,让他写一个直接能用的代码。
GPT推荐了Remove.bg库自动抠图,后来注册获取API后,叫GPT给我写一个调用代码,完美运行。
需要自行注册(免费),并且pip install RemoveBg 安装包哦
稍微整理后代码附上
import removebg
from removebg import RemoveBg
from PIL import Image# 登录API
rmbg = RemoveBg("你的API密钥", "error.log")
# "input.jpg"是要抠图的图片文件名。抠出的图片将会保存在与原图片相同的目录下,文件名为"input-no-bg.png"。# 注意更改图片路径
imput_img = "PIC_1_IM36.jpg"
rmbg.remove_background_from_img_file(imput_img)# 打开原始图片
image = Image.open('{}_no_bg.png'.format(imput_img))# 新建纯蓝色背景图片
background = Image.new('RGB', image.size, ( 182,38,38))
# 普通蓝色 67,142,219
# 普通红色 182,38,38
# 白色底色 255,255,255# 将原始图片粘贴到纯蓝色背景上
background.paste(image, mask=image.split()[3])# 保存为新图片
background.save('new_photo.jpg')
又是赶上人工智能风口的一天呢,省钱5元。