欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用Python替换证件照背景颜色

程序员文章站 2022-06-10 10:57:26
目录前言思路:完整代码总结前言本文教大家通过python程序替换证件照背景颜色,以后更换证件照背景就不会再苦恼了。思路:先去掉原照片的背景颜色再添上新的背景颜色步骤很简单,思路清晰,操作起来也很简单,...

前言

本文教大家通过python程序替换证件照背景颜色,以后更换证件照背景就不会再苦恼了。

用Python替换证件照背景颜色

思路

先去掉原照片的背景颜色

再添上新的背景颜色

步骤很简单,思路清晰,操作起来也很简单,十行代码就可以搞定,保证看完你肯定会!

用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程序会报错。

样例效果:

用Python替换证件照背景颜色

(图片来源网络)

左边是原图(蓝色),右边是替换的照片

总结

到此这篇关于用python替换证件照背景颜色的文章就介绍到这了,更多相关python证件照背景颜色内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!