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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值