十行Python代码替换证件照背景颜色

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

本文教大家通过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.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
相关推荐

2022-07-27 11:21:46

Python可视化GUI

2022-03-14 09:57:30

Python代码

2022-07-07 15:50:19

Python开发功能

2022-03-23 15:32:38

Python开发代码

2020-11-08 14:44:37

VSCode代码编码

2022-11-07 07:04:25

2023-12-06 18:09:01

2012-06-27 09:34:15

隐私泄漏黑客

2016-03-29 10:08:07

2022-07-21 10:08:59

代码K线图

2022-05-02 18:29:35

bashshellLinux

2024-04-19 13:57:19

Python证件背景

2021-04-13 08:34:13

PythonEXCEL热点推荐

2018-07-13 16:26:46

编程语言Python微信

2023-06-06 14:00:39

代码模型

2016-04-05 11:40:17

杀毒51CTOIT技术周刊

2018-10-16 14:30:22

Python微信朋友圈

2023-06-25 13:31:44

2016-05-30 17:51:34

网络安全技术周刊

2020-12-03 11:31:05

AI飞桨框架百度
点赞
收藏

51CTO技术栈公众号