likes
comments
collection
share

探索rembg开源库,三行代码轻松去除图片背景

作者站长头像
站长
· 阅读数 10

开源库rembg,让你轻松实现去除图片背景的效果。

效果展示

原图去除背景之后
探索rembg开源库,三行代码轻松去除图片背景探索rembg开源库,三行代码轻松去除图片背景

核心代码

input = Image.open(input_path)  # 打开原图
output = remove(input) # 去除背景
output.save(output_path) # 保存图片

环境准备

需要 python 版本 >3.7, <3.12 安装依赖,同时支持源码调用和命令行调用,使用时按需求安装

CPU 版本

pip install rembg # 编码使用
pip install rembg[cli] # 编码+命令行

GPU版本

pip install rembg[gpu] # 编码使用
pip install rembg[gpu,cli] # 编码+命令行

第一次运行会先下载预训练的模型,下面有模型的下载地址

命令行模式

去除背景

rembg i path/to/input.png path/to/output.png

用指定模型

rembg i -m u2netp path/to/input.png path/to/output.png

只保留蒙版效果

rembg i -om path/to/input.png path/to/output.png

只保留蒙版效果

探索rembg开源库,三行代码轻松去除图片背景

批量处理

rembg p path/to/input path/to/output

服务器模式

会启用一个服务,然后前端可以通过接口访问,默认的接口地址 http://localhost:5000/api

rembg s

运行效果

UI效果API地址
探索rembg开源库,三行代码轻松去除图片背景探索rembg开源库,三行代码轻松去除图片背景

代码调用

一般调用

from rembg import remove

input_path = 'input.png'
output_path = 'output.png'

with open(input_path, 'rb') as i:
    with open(output_path, 'wb') as o:
        input = i.read()
        output = remove(input)
        o.write(output)

使用 PIL 打开图片

from rembg import remove
from PIL import Image

input_path = 'input.png'
output_path = 'output.png'

input = Image.open(input_path)
output = remove(input)
output.save(output_path)

使用 opencv 打开图片

from rembg import remove
import cv2

input_path = 'input.png'
output_path = 'output.png'

input = cv2.imread(input_path)
output = remove(input)
cv2.imwrite(output_path, output)

使用指定的模型

from rembg import new_session, remove

image = Image.open('./examples/car-1.jpg')
model = 'u2net_human_seg' # 指定模型类型
output = remove(image, session=new_session(model))
output.save('./output/car-3.png')

分割保留人物效果,模型 u2net_human_seg

原图去除背景并分割人物
探索rembg开源库,三行代码轻松去除图片背景探索rembg开源库,三行代码轻松去除图片背景

其他高级模式请自行探索 源码地址 rembg

预训练模型

第一次运行会先下载预训练的模型,默认从 github 下载,在国内可能无法从 github 下载,这里提供一个 网盘的下载地址 模型-国内网盘下载,下载之后放在 C:\Users\用户名\.u2net\ 目录下

这些不需要全部下载,可以只下载其中一个,默认需要的模型是 u2net,其他的模型根据需求有选择的下载

探索rembg开源库,三行代码轻松去除图片背景

可以使用的模型有

欢迎私信交流

探索rembg开源库,三行代码轻松去除图片背景