一个好玩的python库rembg,可以自行做成抠图工具,本文附上用法和模型

rembg 在图像处理领域,背景移除是一个常见且重要的任务。无论是电商平台的商品展示、社交媒体中的个性化头像生成,还是其他需要图像透明背景的场景,背景移除都扮演着关键角色。Python中的rembg库就是一个强大的工具,它基于深度学习技术,能够准确、快速地移除图像背景。本文详细介绍rembg库的安装、基本用法。
 

Github仓库地址:

github.com/danielgatis/rembg

安装需求:python: >3.7, <3.13

ubuntu使用以下方式安装:

pip install rembg
pip install filetype
pip install gradio
pip install asyncer

下载一个模型文件,模型下载后,需要将模型保存在 ~/.u2net 目录。

u2net (默认的模型,对人物肖像进行抠图去背景,能精细到发丝。)

可用的模型有这些:

安装步骤完成后,您就可以用python去调用,或者以命令行的方式使用 rembg 了.

python 库方式调用:

cd 到下载的代码路径目录下,然后编写py文件运行

from rembg import remove
from PIL import Image

# 指定你下载的.onnx模型文件的路径
onnx_model_path = "/home/local/user/.u2net/u2netp.onnx"

# 加载图像
input_image = Image.open("/home/local/下载/tmp/test1.jpg")

# 移除背景
output_image = remove(input_image)

# 保存处理后的图像
output_image.save('/home/local/下载/tmp/u2net_human_seg.png')

命令行的方式使用:

rembg 命令有4个子命令,每种输入类型对应一个子命令:

  • i 用于文件
  • p 表示文件夹
  • s 表示http服务器
  • b 用于RGB24像素二进制流

有关命令的帮助请参考rembg --help

查看子命令rembg  --help

可用命令:

图片移除背景:(input.jpg是原图 output.png是抠像后的图)
rembg i path/to/input.jpg path/to/output.png

指定使用一个模型去背景
rembg i -m u2net_cloth_seg path/to/input.jpg path/to/output.png

移除背景返回mask
rembg i -om path/to/input.jpg path/to/output.png

应用 alpha matting (前后景分割算法)
rembg i -a path/to/input.jpg path/to/output.png

传递参数
SAM example:
rembg i -m sam -x '{ "sam_prompt": [{"type": "point", "data": [724, 740], "label": 1}] }' examples/plants-1.jpg examples/plants-1.out.png
自定义模型 example:
rembg i -m u2net_custom -x '{"model_path": "~/.u2net/u2net.onnx"}' path/to/input.png path/to/output.png

rembg p 处理整个文件夹中的文件,移除文件夹中所有图片的背景

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

处理文件的同时会监听文件夹的图片变动

rembg p -w path/to/input path/to/output

rembg s 和 rembg b 和其他使用方式,有时间再更新。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值