261 字
1 分钟
如何免费获取Remove.BG的高清大图?
2024-08-14

如果你了解过自动抠图,那你肯定知道Remove.BG,他的效果十分不错,但可惜因为其商业产品的特性,不付费只能下载极其低清的图片,其定价也不便宜,约一月60人民币只能高清抠图40张

但是我们可以通过其提供的API抠图后,使用Pillow进行Alpha模板抠原图,得到高清抠图的效果,而且一个免费账户一个月可以调用API50次!完全够用了,实在不够的话可以利用临时邮箱多注册几个账号

Demo#

想法如上,Python实现代码如下

from removebg import RemoveBg
from PIL import Image
import os

API_TOKEN = "YOUR_API_TOKEN"
INPUT_IMAGE = "test.png"

output_basename = f"{os.path.splitext(INPUT_IMAGE)[0]}_nobg_big.png"
OUTPUT_IMAGE = os.path.join(os.path.dirname(INPUT_IMAGE), output_basename)

rmbg = RemoveBg(API_TOKEN, "error.log")

# 调用API生成透明图
rmbg.remove_background_from_img_file(INPUT_IMAGE)

temp_file = os.path.join(
    os.path.dirname(INPUT_IMAGE),
    f"{os.path.basename(INPUT_IMAGE)}_no_bg.png"
)

# 验证生成结果
if not os.path.exists(temp_file):
    exit(1)

# 合成无背景大图
with Image.open(INPUT_IMAGE) as original:
    original = original.convert("RGB")
    
    with Image.open(temp_file) as mask:
        if original.size != mask.size:
            mask = mask.resize(original.size, Image.Resampling.LANCZOS)
        
        final = Image.merge("RGBA", original.split() + (mask.split()[3],))
        final.save(OUTPUT_IMAGE)

#清理临时文件
os.remove(temp_file)
如何免费获取Remove.BG的高清大图?
https://irvingwu.blog/posts/removebg-hd/
作者
Irving Wu
发布于
2024-08-14
许可协议
CC BY-NC-SA 4.0