不到20行实现Python代码即可制作精美证件照


Posted in Python onApril 24, 2020

无论是我们上学时还之后的工作中,基本都需要用到电子证件照片,这类照片基本都对照片尺寸、背景色有要求,本文我们来看一下如何只用不到 20 行 Python 代码完成证件照片的制作。

简介

制作证件照我们主要有两个工作:修改照片背景和修改照片尺寸,修改背景我们需要用到第三方库 removebg,修改照片尺寸需要用到 PIL 库,这两个库的安装使用 pip install removebgpip install Pillow 即可。

使用 removebg 时,我们还需要一个 API 密钥,获取方式为:首先,我们打开链接地址 https://accounts.kaleido.ai/users/sign_up 注册一个账户,打开后如下图所示:

不到20行实现Python代码即可制作精美证件照

我们填写邮箱和密码再勾选同意协议后提交,之后该网站会给我们刚刚填写的邮箱发送一条验证信息,我们进到自己的邮箱点击验证链接完成验证之后即完成了账号的注册工作。

账号注册好之后,我们接着打开 https://www.remove.bg/zh/profile#api-key 地址登录自己的账号,即可进入到下图位置:

不到20行实现Python代码即可制作精美证件照

我们点击上图中的显示按钮,就可以拿到秘钥了。

代码实现

代码实现也比较简单,还是我们之前说的思路:使用 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 行代码。

效果展示

最后我们来看一下实现效果:

不到20行实现Python代码即可制作精美证件照

不到20行实现Python代码即可制作精美证件照

到此这篇关于不到20行实现Python代码即可制作精美证件照的文章就介绍到这了,更多相关Python 证件照内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python urlopen 使用小示例
Sep 06 Python
Python time模块详解(常用函数实例讲解,非常好)
Apr 24 Python
Python 字典dict使用介绍
Nov 30 Python
使用Python内置的模块与函数进行不同进制的数的转换
Mar 12 Python
对Python的Django框架中的项目进行单元测试的方法
Apr 11 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
python实现C4.5决策树算法
Aug 29 Python
Python中作用域的深入讲解
Dec 10 Python
Python 处理图片像素点的实例
Jan 08 Python
对python读取CT医学图像的实例详解
Jan 24 Python
如何通过Django使用本地css/js文件
Jan 20 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
May 27 Python
python 画条形图(柱状图)实例
Apr 24 #Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 #Python
200行python代码实现贪吃蛇游戏
Apr 24 #Python
python Canny边缘检测算法的实现
Apr 24 #Python
python实现文字版扫雷
Apr 24 #Python
离线状态下在jupyter notebook中使用plotly实例
Apr 24 #Python
python3中sys.argv的实例用法
Apr 24 #Python
You might like
php遍历CSV类实例
2015/04/14 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
php实现登录页面的简单实例
2019/09/29 PHP
PHP7 标准库修改
2021/03/09 PHP
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
python基础教程之元组操作使用详解
2014/03/25 Python
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
更改Python命令行交互提示符的方法
2015/01/14 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
材料成型专业个人求职信范文
2013/09/25 职场文书
医院护士的求职信
2014/01/03 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
2014年实习生工作总结
2014/11/27 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers