利用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,来看看样图:

经验分享 程序员 微信小程序 职场和发展