python(remove_bg)一键抠图换背景 智能抠图

  • 缘起

基于 remove.bg API .
可实现突破一键抠图和换背景 当然换背景是基于 PIL
官方文档

install

我们要 实现这2个功能要安装2个模块和一个API-KEY

  • moudel:

    1. removebg:pip install removebg
    2. PIL:pip install Pillow 使用新的 PIL fork 版的 Pillow 。老的deprecated 了
      阿里云pip:- i https://mirrors.aliyun.com/pypi/simple
  • API-KEY:

    1. 注册or登录
    2. 获取 API-KEY

start

去除背景

from removebg import RemoveBg
import os

# 参数填入 api-key, 错误日志路径 
rmbg = RemoveBg("H11PQF7gGT97VxhJEhgcxNeP", "./error.log")

# 处理后的图片存放位置
path = os.path.join(os.getcwd(), "pic")

for pic in os.listdir(path):
    rmbg.remove_background_from_img_file(os.path.join(path, pic))

填充背景颜色

# 给去除了背景的图像添加背景颜色

from PIL import Image

# 输入已经去除背景的图像
im = Image.open('./pic/Jay.jpg_no_bg.png')
x, y = im.size

try:
    # 填充红色背景
    p = Image.new('RGBA', im.size, (255, 0, 0))
    p.paste(im, (0, 0, x, y), im)
    # 保存填充后的图片
    p.save('./pic/Jay.jpg_red_bg.png')
except:
    with open('./error.log', 'a') as f:
        f.write('background change fail .')

发布了130 篇原创文章 · 获赞 91 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Chad97/article/details/100010237