不到20行实现Python代码即可制作精美证件照
作者:野客 时间:2021-08-29 09:27:43
无论是我们上学时还之后的工作中,基本都需要用到电子证件照片,这类照片基本都对照片尺寸、背景色有要求,本文我们来看一下如何只用不到 20 行 Python 代码完成证件照片的制作。
简介
* 照我们主要有两个工作:修改照片背景和修改照片尺寸,修改背景我们需要用到第三方库 removebg
,修改照片尺寸需要用到 PIL
库,这两个库的安装使用 pip install removebg
和 pip install Pillow
即可。
使用 removebg
时,我们还需要一个 API 密钥,获取方式为:首先,我们打开链接地址 https://accounts.kaleido.ai/users/sign_up
注册一个账户,打开后如下图所示:
我们填写邮箱和密码再勾选同意协议后提交,之后该网站会给我们刚刚填写的邮箱发送一条验证信息,我们进到自己的邮箱点击验证链接完成验证之后即完成了账号的注册工作。
账号注册好之后,我们接着打开 https://www.remove.bg/zh/profile#api-key
地址登录自己的账号,即可进入到下图位置:
我们点击上图中的显示按钮,就可以拿到秘钥了。
代码实现
代码实现也比较简单,还是我们之前说的思路:使用 removebg
库修改照片背景色,使用 PIL
库修改照片尺寸,具体实现如下所示:
from PIL import Image
from removebg import RemoveBg
# 修改照片背景色
def change_bgcolor(file_in, file_out, api_key, color):
rmbg = RemoveBg(api_key, 'error.log')
rmbg.remove_background_from_img_file(file_in)
no_bg_image = Image.open(file_in)
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)
我们可以看出整个实现过程只用了不到 20 行代码。
效果展示
最后我们来看一下实现效果:
来源:https://segmentfault.com/a/1190000022450666
标签:Python,证件照
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
JS的编译和执行顺序
2009-02-01 18:42:00
python使用多线程不断刷新网页的方法
2022-10-03 09:19:26
matplotlib绘制符合论文要求的图片实例(必看篇)
2023-08-12 08:08:39
![](https://img.aspxhome.com/file/2023/2/81872_0s.png)
asp 删除数据库记录的代码
2011-02-05 10:39:00
Javascript的匿名函数
2008-05-07 13:33:00
番茄的js表单验证类
2008-01-07 13:53:00
python 的列表遍历删除实现代码
2023-07-15 11:44:35
![](https://img.aspxhome.com/file/2023/3/93603_0s.png)
oracle 服务启动,关闭脚本(windows系统下)
2009-07-26 08:57:00
在任意字符集下正常显示网页的方法二(续)
2023-11-22 17:36:14
解决Python列表字符不区分大小写的问题
2022-09-10 20:43:52
Python中的Pandas 时间函数 time 、datetime 模块和时间处理基础讲解
2022-08-01 05:18:41
![](https://img.aspxhome.com/file/2023/9/63559_0s.png)
ASP中使用存储过程介绍
2008-10-10 12:10:00
Python类中self参数用法详解
2023-06-19 00:40:54
Python用Try语句捕获异常的实例方法
2021-07-14 10:28:54
![](https://img.aspxhome.com/file/2023/5/71515_0s.jpg)
python在CMD界面读取excel所有数据的示例
2023-03-14 12:36:51
![](https://img.aspxhome.com/file/2023/1/114621_0s.jpg)
Python使用eval函数执行动态标表达式过程详解
2022-05-29 07:03:30
python开发一个解析protobuf文件的简单编译器
2021-08-11 12:01:22
![](https://img.aspxhome.com/file/2023/6/107636_0s.png)
Python使用captcha制作验证码的实现示例
2023-04-16 00:49:35
![](https://img.aspxhome.com/file/2023/3/75113_0s.png)
Python爬虫实现selenium处理iframe作用域问题
2021-05-23 03:09:42
![](https://img.aspxhome.com/file/2023/1/107291_0s.png)
基于Keras的格式化输出Loss实现方式
2021-10-20 20:44:00
![](https://img.aspxhome.com/file/2023/2/92312_0s.jpg)