不到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处理圆角图片、圆形图片的例子
Apr 25 Python
Python写的英文字符大小写转换代码示例
Mar 06 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
Python时间获取及转换知识汇总
Jan 11 Python
对python sklearn one-hot编码详解
Jul 10 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
NumPy排序的实现
Jan 21 Python
Python读取VOC中的xml目标框实例
Mar 10 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
浅析Python 序列化与反序列化
Aug 05 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
5.PHP的其他功能
2006/10/09 PHP
在PHP中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
php 上传功能实例代码
2010/04/13 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
使用PHP开发留言板功能
2019/11/19 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
javascript中的继承实例代码
2011/04/27 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
如何编写jquery插件
2017/03/29 jQuery
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
2017/07/23 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
多个应用共存的Django配置方法
2018/05/30 Python
详解python pandas 分组统计的方法
2019/07/30 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
Keras 使用 Lambda层详解
2020/06/10 Python
python 6行代码制作月历生成器
2020/09/18 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
外语专业毕业生自我评价分享
2013/10/05 职场文书
财务人员个人求职信范文
2013/12/04 职场文书
期中考试复习计划
2015/01/19 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
《废话连篇——致新手》——chinapizza
2022/04/05 无线电
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers