尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

3 行代码搞定图片去背景:Rembg 快速实操指南

发布时间:2026/9/24 13:47:54

资讯中心
01
ARTICLE

3 行代码搞定图片去背景:Rembg 快速实操指南

3 行代码搞定图片去背景:Rembg 快速实操指南
3 行代码搞定图片去背景Rembg 快速实操指南【免费下载链接】rembgRembg is a tool to remove images background项目地址: https://gitcode.com/GitHub_Trending/re/rembgRembg 是一个 Python 图片去背景库输入一张图模型自动识别主体输出透明底 PNG全程零手动。它同时提供 CLI、Python 库、HTTP 服务三种形态内置 20 个分割模型可选。下面按安装 → 单张 → 批量 → 服务化的顺序走通全部用法所有命令和参数均可在仓库源码中核实。它是做什么的一句话输入原图输出透明底图模型加载、掩码预测、边缘处理、底色合成全自动完成你只负责选模型和传参数。下图是仓库自带的汽车原图与去背景后的透明底结果。跑通第一个结果安装与最小示例 先装环境。要求 Python 3.11–3.13pyproject.toml 中python ^3.11。无显卡装 CPU 版有 NVIDIA GPU 装 GPU 版CPUpip install rembg[cpu,cli]GPUpip install rembg[gpu,cli]需要 CUDA 和 cudnn-devel装完跑这段最小示例from PIL import Image from rembg import remove img Image.open(examples/car-2.jpg) out remove(img) # 默认模型 bria-rmbg返回 RGBA 图 out.save(car-2.out.png) # 透明底 PNG输出就是一张 PNG主体像素保留背景 alpha 通道为 0可直接叠到任意底图上。用法走查从单张到批量 ⚡这一节按使用深度分三步单张调用 → 文件夹批量 → HTTP 服务每步给出可运行代码和相关参数。单张图片换底色、出 mask、精修边缘场景一次调用完成抠图并按需换底色、只取掩码或精修毛发边缘。from rembg import remove, new_session session new_session(birefnet-portrait) # 人像模型会话只建一次 img Image.open(examples/girl-2.jpg) cut remove(img, sessionsession, only_maskTrue) # 只要二值掩码 white remove(img, sessionsession, bgcolor(255, 255, 255, 255)) # 白底合成 fur remove(img, sessionsession, alpha_mattingTrue, alpha_matting_erode_size10) # 软边缘精修关键参数签名见 rembg/bg.py参数默认值作用sessionNone模型会话缺省时自动创建bria-rmbgbgcolorNoneRGBA 四元组内部直接alpha_composite合成底色only_maskFalse只返回白前景黑背景的掩码alpha_mattingFalse启用 pymatting 软边缘估算速度明显变慢alpha_matting_foreground_threshold240掩码值高于此值算前景alpha_matting_background_threshold10掩码值低于此值算背景alpha_matting_erode_size10trimap 腐蚀尺寸越大边缘越保守decontaminateFalse估计真实前景色去掉软边缘残留背景色常用模型按场景挑人像走birefnet-portrait动漫走isnet-anime仓库自带对比图 examples/anime-girl-1.jpg 和结果 tests/results/anime-girl-1.isnet-anime.png大批量走轻量模型u2netp/silueta。文件夹批量去背景场景一个目录几百张商品图全部出透明底已处理的自动跳过。CLI 方式一条命令模型在循环外只加载一次实现见 rembg/commands/p_command.pyrembg p input_dir output_dir -m u2net加-w可持续监听新文件加-d处理完删除输入。输出文件名 输入文件名 .png。库方式同样复用会话from pathlib import Path from rembg import remove, new_session session new_session(u2net) # 关键会话只建一次 src, dst Path(input_dir), Path(output_dir) dst.mkdir(exist_okTrue) for p in sorted(src.glob(*.jpg)): out remove(p.read_bytes(), sessionsession) (dst / (p.stem .png)).write_bytes(out)选项默认值作用-m/--modelbria-rmbg模型名全部可选名见 rembg/sessions/-w/--watch关用 watchdog 监听输入目录新文件自动处理-d/--delete_input关每张处理完后删除原图-bgc0 0 0 0批量统一垫底色4 个 0–255 整数起 HTTP 服务场景给网页或脚本提供去背景接口不写 Python 代码。rembg s -p 7000启动 FastAPI 服务默认监听0.0.0.0:7000浏览器自动打开 Gradio 界面API 文档在/api实现见 rembg/commands/s_command.py。接口为GET/POST /api/remove返回image/pngcurl http://localhost:7000/api/remove?urlhttp://localhost:8000/a.png -o a.out.png curl -F filea.jpg -F modelu2net http://localhost:7000/api/remove -o a.out.png选项默认值作用-p/--port7000监听端口-h/--host0.0.0.0监听地址-t/--threadsNone限制 worker 线程数--no-ui关关闭 Gradio UI降低空闲 CPU 占用调优清单批量与性能 会话复用批量时new_session()只建一次、循环传session避免每张图重新加载模型见 rembg/session_factory.py。线程控制设OMP_NUM_THREADS8可同时限制 ONNX Runtime 的 intra/inter 线程数防止多进程抢核逻辑在 session_factory.py。模型目录默认存~/.u2net设U2NET_HOME可指到共享盘多台机器免重复下载见 rembg/sessions/base.py。GPU 回退告警启动时自动探测 CUDA/ROCm/OpenVINO provider若实际落到 CPU 会打 RuntimeWarning此时推理慢 10–20 倍见 rembg/sessions/base.py。预下载模型rembg d提前下载全部本地模型离线环境友好rembg m可迁移旧版~/.u2net目录见 README.md。模型切换只改字符串即可换精度档位如new_session(birefnet-general-lite)平衡精度与显存全部实现集中在 rembg/sessions/。常见问题 QA ❓Q装了pip install rembgimport 或跑 CLI 时提示缺 onnxruntime A改装pip install rembg[cpu,cli]NVIDIA 卡用rembg[gpu,cli]。bare 包不带推理后端rembg/bg.py 导入 onnxruntime 失败会直接退出。Q装了 GPU 版却还是很慢像跑在 CPU 上 A终端若出现 RuntimeWarning 说明已回退 CPU用nvidia-smi确认驱动后补装匹配版本的 CUDA 和 cudnn-devel。base 类会对比请求与实际生效的 provider 并主动告警。Q第一次运行卡住很久不动 A正常现象正在往~/.u2net自动下载模型离线环境先用rembg d在有网机器预下载再把模型文件放到U2NET_HOME指向的目录。Q处理 4000 万像素大图内存爆掉 A换u2netp、silueta或birefnet-general-lite这类轻量模型或先把图缩到 2048 长边再抠。onnxruntime 一次性为大尺寸输入分配张量内存占用与分辨率正相关。Q批量跑到一半中断重跑会重复处理 A不会rembg p会跳过输出目录里已存在的同名.png文件断点续跑直接重执行同一条命令即可。参考资料 README.md安装矩阵、CLI 子命令总览USAGE.md完整用法手册rembg/bg.pyremove()核心抠图逻辑rembg/session_factory.py会话工厂与线程控制rembg/sessions/20 个模型会话实现rembg/sessions/base.pyprovider 探测与U2NET_HOMErembg/commands/i_command.py、rembg/commands/p_command.py、rembg/commands/s_command.py单图、批量、服务三个 CLI 子命令pyproject.tomlPython 版本与 extras 依赖examples/car-2.jpg、examples/car-2.out.png、examples/anime-girl-1.jpg、tests/results/anime-girl-1.isnet-anime.png文中效果对比图装完rembg[cpu,cli]后跑一条rembg i examples/car-2.jpg out.png即可拿到第一张透明底图。【免费下载链接】rembgRembg is a tool to remove images background项目地址: https://gitcode.com/GitHub_Trending/re/rembg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。