python 替换图片背景色,适用于制作证件照
功能需求
需要实现一个替换图片背景的功能,去制作不同颜色背景的证件照
需求分析
根据功能需求,需要实现一个去除背景的功能,然后还需要一个背景颜色的操作;
去除背景,也就是 PS 中的抠图,可以使用一个有名的工具 removebg;removebg 是一个 ai 抠图的软件,传入一张图片,就能自动抠图;同时它还提供了 api,供调用,不过,需要登录获取 APIkey,且有数量大小的限制;
removebg 也有替换背景图的功能,但是使用 python 中的 PIL 库也能轻松实现背景图的添加;
代码实现:
抠图调用 removebg 提供的 api 接口
首先需要注册一个账号;登录后获取 api key,如果不想注册,可以使用我的这个;可以参考官网提供的代码实现抠图功能
需要一个第三方库 requests:
requests 是一个很实用的 Python HTTP 客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests 是 Python 语言的第三方的库,专门用于发送 HTTP 请求
安装方法:需求提前安装有 pip 根据,执行以下代码安装:
pip install requests
抠图功能实现:
给透明图背景颜色
需要使用另一个 python 第三方库 PILPillow 库是一个 Python 的第三方库。在 Python2 中,PIL(Python Imaging Library)是一个非常好用的图像处理库,但 PIL 不支持 Python3,所以有人(Alex Clark 和 Contributors)提供了 Pillow,可以在 Python3 中使用。
官方文档路径:访问文档
安装 PIL:以 python3 为例,安装命令如下:
pip install Pillow
安装的名称为 pillow,但是导入时,需要导入 PIL
from PIL import Image
给图片加背景颜色的思路:
首先创建一个指定颜色的新图片对象;加载原有图片将两张图片合并,已纯色背景图片为底
实现代码:
以上就实现了一个制作证件照的功能;其中抠图功能,还有其他方法可以实现,如使用 python 中的第三方库 rembg;
版权声明: 本文为 InfoQ 作者【技能实验室】的原创文章。
原文链接:【http://xie.infoq.cn/article/1deb6893cec3ee9a6f0f19a1c】。文章转载请联系作者。
评论