平时生活工作中,会遇到去掉照片背景的需求,如果你是PS高手,可以用ps解决,如果不是呢,或者对去背景的要求不高,还有一些电商平台,产品图必须是白底的,怎么才能快速批量处理呢,一个一个抠图,太慢了。会了python后,调用removebg接口,分分钟帮你去掉大量照片背景。
原理是我们要调用一个API接口,所以在开始前需要先注册一个API接口密钥。
打开网站remove.bg,URL=https://www.remove.bg/
注册一个账户,完成后,点击上面菜单【工具和API】,然后点开下面第三个 【API Integration】API Docs,查看密钥。准备好后,直接上代码吧:
首先要安装removebg库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple removebg
直接从官方下载也可以,但有时候会比较慢,所以上面的安装代码是直接从清华镜像下载,秒速。
from removebg import RemoveBg
import os
rmbg = RemoveBg("这里是刚才注册获取的API密钥,粘进来就可以了", "error.log")
path = '%s/images'%os.getcwd()
#保存路径,因为我的是在工作区下新建了个images文件夹,用于抠图的,所以路径上添加了images,可以根据自己的情况修改
for pic in os.listdir(path):
#遍历上面目录里的所有照片,循环执行抠图操作
rmbg.remove_background_from_img_file("%s\%s"%(path,pic))
以上代码运行后,将images里的照片全部处理掉,新生成的照片会在原照片名称后加_no_bg,而且格式为png透明背景的,可以根据自己的需求添加各种背景图。
需要注意的是:免费的api接口处理后的照片会压缩,不是高清图片,如果想要高清图,那就买付费的吧。花钱买时间,也是值得的。