不到20行实现Python代码即可制作精美证件照
作者:野客 发布时间:2021-08-29 09:27:43
标签:Python,证件照
无论是我们上学时还之后的工作中,基本都需要用到电子证件照片,这类照片基本都对照片尺寸、背景色有要求,本文我们来看一下如何只用不到 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


猜你喜欢
- 最近遇到了一个下载静态html报表的需求,需要以提供压缩包的形式完成下载功能,实现的过程中发现相关文档非常杂,故总结一下自己的实现。开发环境
- 如下所示:device = torch.device("cuda:0" if torch.cuda.is_availab
- 一、首先理解下面几个函数设置变量 length()函数 char_length() replace() 函数 max() 函数1.1、设置变
- mark 一下使用 bootstrap selectpicker 遇到的一个小issue,作为下次查错使用$('.selectpic
- dict是python中的常用数据结构,应该尽量掌握其使用方法字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>
- 介绍代码地址:https://github.com/taishan1994/chinese_chengyujielong读完该文,你可以收获
- 1、panic当我们执行panic的时候会结束下面的流程:package mainimport "fmt"func ma
- 插入数据insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);insert into user(user
- pandas将表中的字符串转成数值型在用pd.read_csv读数据时,将要转换数据类型的列名和类型名构成字典,传给dtypeimport
- 在MySQL中,A LEFT JOIN B join_condition执行过程如下:· 根据表A和A依赖的所有表设置表B。· 根据LEFT
- 1、开始->运行,输入SERVICES.MSC到服务里,停止所有Oracle服务; 2、开始->程序->Oracle - OraHome81
- 看到sam关于max-height的文章,觉得按捺不住了。sam注重于样式表的写法,过多的要求div+css的布局,sam可是追求艺术的人哦
- 1 图1第一个图是蚊香,感兴趣的小伙伴可以自己尝试在python中用turtle库绘制一下。具体代码如下:#画蚊香import turtle
- 前言本文主要介绍了关于利用python将图片转换成excel文档的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
- 你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习:第一种可能是你还没有理解CSS处理页面的原理。在你考虑
- (1)、back_log:要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程
- 如何在网页打开时显示“正在加载”之类的信息?代码及说明见下: <% Response.Buffer =
- 论坛有人问起如何获取读取CSS属性值,就写了下面这段兼容各浏览器的获取HTML元素的css属性值函数:function getSt
- python编写计算器,供大家参考,具体内容如下(1)计算器界面如下:(2)基本满足了计算器的所有需求,使用时不可键盘输入,只能鼠标点击左键
- 本文实例讲述了mysql代码执行结构。分享给大家供大家参考,具体如下:本文内容:什么是代码执行结构顺序结构分支结构循环结构 首发日