本文教大家通过Python程序替换证件照背景颜色,以后更换证件照背景就不会再苦恼了。
思路:
先去掉原照片的背景颜色 再添上新的背景颜色
步骤很简单,思路清晰,操作起来也很简单,十行代码就可以搞定,保证看完你肯定会!
1.去掉原图背景颜色
import os# 去掉背景颜色os.system('backgroundremover -i "'+str(in_path)+'"-o "cg_output.jpg"')
登录后复制
in_path是原照片的路径、cg_output.jpg是去掉背景后的照片
提示:backgroundremover这个库的具体使用可以参考我之前的这篇文章(一行Python代码去除照片背景)
2.添加新背景颜色
# 加上背景颜色no_bg_image = Image.open("cg_output.jpg")x, y = no_bg_image.sizenew_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 osfrom 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.sizenew_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代码替换证件照背景颜色的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2238073.html