不到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不带重复的全排列代码
Aug 13 Python
python基于multiprocessing的多进程创建方法
Jun 04 Python
理解python中生成器用法
Dec 20 Python
Python命令行解析模块详解
Feb 01 Python
python实现音乐下载器
Apr 15 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
Python读写及备份oracle数据库操作示例
May 17 Python
利用python如何处理nc数据详解
May 23 Python
Python3解释器知识点总结
Feb 19 Python
Python3中exp()函数用法分析
Feb 19 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 Python
Python中如何将一个类方法变为多个方法
Dec 30 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 日,周,月点击排行统计
2012/01/11 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
javascript常用的方法整理
2015/08/20 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
详解vuex的简单使用
2018/03/12 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
Python实现全角半角转换的方法
2014/08/18 Python
Python中的urllib模块使用详解
2015/07/07 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Django框架 querySet功能解析
2019/09/04 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
投资意向书
2014/07/30 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
2014年终个人工作总结
2014/11/07 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
Python中re模块的元字符使用小结
2022/04/07 Python