制作证件照我们主要有两个工作:
1. 修改照片背景
2. 修改照片尺寸
修改背景我们需要用到第三方库 removebg
,修改照片尺寸需要用到 PIL
库,这两个库的安装使用 pip install removebg
和 pip install Pillow
即可。
removebg涉及到api_key,需要到其官网注册并申请:
https://accounts.kaleido.ai/users/sign_up
接下来通过代码demo如何制作证件照
#encoding=utf-8
from PIL import Image
from removebg import RemoveBg
api_key='9Esz4y4H9UKzChH7hpxxxx' #你的api_key
def change_bgcolor(file_in, file_out, api_key, color):
'''
#必须为png格式
'''
p,s=file_in.split(".")
rmbg = RemoveBg(api_key, 'error.log')
rmbg.remove_background_from_img_file(file_in)
file_no_bg = "{}.{}_no_bg.{}".format(p,s,s)
no_bg_image = Image.open(file_no_bg)
x, y = no_bg_image.size
new_image = Image.new('RGBA', no_bg_image.size, color=color)
new_image.paste(no_bg_image, (0, 0, x, y), no_bg_image)
new_image.save(file_out)
# 修改照片尺寸
def change_size(file_in, file_out, width, height):
image = Image.open(file_in)
resized_image = image.resize((width, height), Image.ANTIALIAS)
resized_image.save(file_out)
if __name__ == "__main__":
file_in = 'E:\\imgs\\in.png'
file_out = 'E:\\imgs\\out.png'
color=(0,125,255)
change_bgcolor(file_in, file_out, api_key, color)
效果如下:
原始文件:E:\\imgs\\in.png
中间产物(透明背景图片):E:\\imgs\\in.png_no_bg.png
生成的证件照:E:\\imgs\\out.png
大功告成!