抠图
参考:知乎,3行Python代码,实现批量抠图和换底色的方法,作者林泽风
获取API
利用了Remove Image Background这个网站,网站地址:https://www.remove.bg
首先点击右上角注册。一个免费的账户,每个月可以抠图50次,点击 Read the API docs
点击Get API Key
得到你的API Key
安装库
pip install removebg
官网文件和教程:https://github.com/brilam/remove-bg
去除图片背景(本地)
这里的图片是指,已经在本地的,不是网络上的图片。
有三个参数,其中img_file_path
图片路径是必填的,图片的尺寸size
和背景色bg_color
是选填的
from removebg import RemoveBg
rmbg = RemoveBg("YOUR-API-KEY", "error.log") # 把你的`API Key`填进去
rmbg.remove_background_from_img_file("remove1.jpg")
批量抠图
图片放到程序的同级文件夹 picture
里面,我从百度上下载了一些剧照
from removebg import RemoveBg
import os
rmbg = RemoveBg("YOUR-API-KEY", "error.log")
path = '%s/picture'%os.getcwd()
for pic in os.listdir(path):
rmbg.remove_background_from_img_file("%s\%s"%(path,pic))
填充背景颜色
from PIL import Image
im = Image.open('remove1.jpg_no_bg.png') # 打开一张PNG的图片
x, y = im.size # 获取图像尺寸
try:
p = Image.new('RGBA', im.size, (64, 128, 128)) # 构建背景颜色
p.paste(im, (0, 0, x, y), im) # 填充颜色
p.save('remove1.jpg_color_bg.png') # 保存图像
except:
with open('./error.log', 'a') as f: # 如果失败了,保留错误信息
f.write('background change fail .')
关于RGB
的颜色怎么获取,你可以直接打开画图软件,获取数值