本篇文章小编给大家分享一下用Python替换证件照背景颜色代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
思路:
先去掉原照片的背景颜色
再添上新的背景颜色
步骤很简单,思路清晰,操作起来也很简单,十行代码就可以搞定,保证看完你肯定会!
1.去掉原图背景颜色
import os # 去掉背景颜色 os.system('backgroundremover -i "'+str(in_path)+'" -o "cg_output.jpg"')
in_path是原照片的路径、cg_output.jpg是去掉背景后的照片
2.添加新背景颜色
# 加上背景颜色 no_bg_image = Image.open("cg_output.jpg") 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(out_path)
out_path是替换背景颜色后的照片路径,color是要替换的新颜色,填上对应的英文即可,比如红色:red
color = "red" # 红:red、蓝:blue、黑:black、白:white
完整代码
import os from PIL import Image # 输入 in_path = "replace.jpg" # 输出 out_path = "out.png" # 要替换的背景颜色 color = "red" # 红:red、蓝:blue、黑:black、白:white # 去掉背景颜色 os.system('backgroundremover -i "'+str(in_path)+'" -o "cg_output.jpg"') # 加上背景颜色 no_bg_image = Image.open("cg_output.jpg") 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(out_path)
代码大体步骤:
将replace.jpg(蓝色背景的照片),换成红色(color)的背景颜色的照片out.png
这里提醒一下读者,输出的照片(out.png)要保存成png的格式,其他格式如jpg程序会报错。
样例效果: