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

 更新时间:2020年04月24日 09:11:20   作者:野客  
这篇文章主要介绍了不到20行实现Python代码即可制作精美证件照,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

简介

制作证件照我们主要有两个工作:修改照片背景和修改照片尺寸,修改背景我们需要用到第三方库 removebg,修改照片尺寸需要用到 PIL 库,这两个库的安装使用 pip install removebgpip 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 行代码。

效果展示

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


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

相关文章

  • Pandas技巧分享之创建测试数据

    Pandas技巧分享之创建测试数据

    学习pandas的过程中,为了尝试pandas提供的各类功能强大的函数,常常需要花费很多时间去创造测试数据,本篇介绍了一些快速创建测试数据的方法,需要的可以参考一下
    2023-07-07
  • Python将Word文档转为PDF的两种方法

    Python将Word文档转为PDF的两种方法

    这篇文章主要介绍了两种将docx和doc文件转换为PDF的方法,方法一使用了docx2pdf模块,方法二使用了win32com模块,文中通过代码及图文介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • 使用python pyserial模块串口通信方式

    使用python pyserial模块串口通信方式

    这篇文章主要介绍了使用python pyserial模块串口通信方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • django用户登录和注销的实现方法

    django用户登录和注销的实现方法

    这篇文章主要介绍了django用户登录和注销的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 利用Python获取赶集网招聘信息前篇

    利用Python获取赶集网招聘信息前篇

    这篇文章主要为大家分享了如何利用Python获取赶集网招聘信息的前一篇内容,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • TensorFlow和Numpy矩阵操作中axis理解及axis=-1的解释

    TensorFlow和Numpy矩阵操作中axis理解及axis=-1的解释

    在调用numpy库中的concatenate()时,有遇到axis=-1/1/0的情况,下面这篇文章主要给大家介绍了关于TensorFlow和Numpy矩阵操作中axis理解及axis=-1解释的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】

    Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】

    这篇文章主要介绍了Python实现从SQL型数据库读写dataframe型数据的方法,涉及Python基于pandas的数据库读写相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • 基于Python制作一个端午节相关的小游戏

    基于Python制作一个端午节相关的小游戏

    端午节快乐,今天我将为大家带来一篇有关端午节的编程文章,希望能够为大家献上一份小小的惊喜,我们将会使用Python来实现一个与端午粽子相关的小应用程序,在本文中,我将会介绍如何用Python代码制做一个“粽子拆解器”,感兴趣的小伙伴欢迎阅读
    2023-06-06
  • Python多线程原理与用法实例剖析

    Python多线程原理与用法实例剖析

    这篇文章主要介绍了Python多线程原理与用法,结合具体的爬虫实例剖析了多线程的相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2019-01-01
  • python如何去除异常值和缺失值的插值

    python如何去除异常值和缺失值的插值

    大家好,本篇文章主要讲的是python如何去除异常值和缺失值的插值,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论