利用Python轻松实现抠图,背景色更换
只需要3行代码,5秒实现高精度抠图
介绍一款工具remove.bg,通过调用此工具的API实现,API获取方式很简单,注册这个工具账号,就可以免费获得了
话不多说,老规矩,直接上代码:
import os from removebg import RemoveBg
class ChangePic():
def __init__(self,key,pic):
self.key = key
self.pic = pic
def remove(self):
"""
单张图片抠图
:return:
"""
rmove = RemoveBg(self.key,error.log)
path = os.getcwd()+\+self.pic
print(path)
rmove.remove_background_from_img_file(path)
这样,就实现简单的图片抠图了,放原图:
运用机器抠图结果:
个人感觉是比我这个手残党扣的好很多了!!!
再来实现简单的背景更换脚本:
from PIL import Image
def changeBack(self,color):
"""
更换背景色
:param color:
:return:
"""
color_dict = {"A":(255,0,0),"B":(67,142,219),"C":(255,255,255)}
img = self.pic+_no_bg.png
im = Image.open(img)
x,y = im.size
try:
p = Image.new(RGBA,im.size,color =color_dict.get(color))
p.paste(im,(0,0,x,y),im)
p.save({}.png.format(new+color))
except:
print(change err)
A,B,C分别代表红色,蓝色,白色 ,OK,来看看样图:
