这是一个基于 rembg 库的本地批量图片背景移除工具。该工具可以批量处理指定文件夹中的图片,自动移除背景并保存到指定的输出文件夹。
- 批量处理图片,自动移除背景
- 保持原始文件名和目录结构
- 支持多线程并行处理,提高效率
- 支持多种图片格式(JPG, JPEG, PNG, BMP, WEBP)
- 用户友好的命令行界面
- 支持GPU加速处理(如果可用)
- 支持多种背景移除模型
- 智能回退:当GPU不可用时自动使用CPU处理
- 确保已安装 Python 3.8 或更高版本
- 克隆或下载本项目到本地
- 在项目目录中创建虚拟环境并安装依赖:
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
# source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
如果您想使用GPU加速处理,请确保您的系统满足以下要求:
- 安装了NVIDIA GPU驱动程序
- 安装了CUDA和cuDNN(与onnxruntime兼容的版本)
- 访问 NVIDIA CUDA 下载页面 下载并安装适合您系统的 CUDA Toolkit
- 访问 NVIDIA cuDNN 下载页面 下载并安装与您 CUDA 版本兼容的 cuDNN
安装完成后,确保将 CUDA 和 cuDNN 的路径添加到系统环境变量中。
如果遇到 NumPy 版本兼容性问题,请尝试降级 NumPy:
pip install numpy==1.24.3
如果遇到 CUDA 相关错误,请确保:
- CUDA 和 cuDNN 已正确安装
- 系统环境变量中包含 CUDA 路径
- 使用的 GPU 支持所安装的 CUDA 版本
本项目的依赖已包含GPU支持所需的库,安装依赖后会自动检测是否有可用的GPU。如果没有检测到可用的GPU,程序会自动回退到CPU模式,无需担心。
使用交互式界面:
python run.py
这将启动一个交互式界面,引导您输入必要的参数,包括是否使用GPU和选择模型。
您也可以使用命令行参数直接运行:
python run.py --input 输入文件夹路径 --output 输出文件夹路径 --workers 线程数 --gpu --model 模型名称
或者使用简写形式:
python run.py -i 输入文件夹路径 -o 输出文件夹路径 -w 线程数 -g -m u2net
如果您更喜欢直接使用核心功能,可以这样使用:
python removebg.py 输入文件夹路径 输出文件夹路径 --gpu --model u2net
例如:
python removebg.py ./input_images ./output_images --gpu
高级选项:
python removebg.py ./input_images ./output_images --workers 8 --gpu --model isnet-general-use
Windows 用户可以直接双击 setup_and_run.bat
文件,它会自动设置环境并启动程序。
Linux/Mac 用户可以使用以下命令运行快速启动脚本:
chmod +x setup_and_run.sh # 只需执行一次,使脚本可执行
./setup_and_run.sh
input_dir
/--input
/-i
:包含需要处理的图片的文件夹路径output_dir
/--output
/-o
:处理后的图片保存的文件夹路径--workers
/-w
:可选参数,指定并行处理的线程数,默认为4--gpu
/-g
:使用GPU加速处理(如果可用)--model
/-m
:使用的模型,可选值包括:u2net
:通用模型(默认)u2netp
:轻量级通用模型u2net_human_seg
:人像分割模型silueta
:轻量级通用模型isnet-general-use
:高精度通用模型isnet-anime
:动漫角色分割模型
--interactive
/-int
:使用交互模式
- 所有依赖都会安装在当前项目文件夹中的虚拟环境内,不会影响系统环境
- 处理大量图片可能需要较长时间,请耐心等待
- 处理过程中会显示进度信息
- 首次运行时,程序会自动下载所需的模型文件(约100MB),这可能需要一些时间
- 使用GPU加速可以显著提高处理速度,但需要有兼容的NVIDIA GPU
- 如果程序无法使用GPU,会自动回退到CPU模式,无需担心
-
NumPy 版本兼容性问题:如果遇到 NumPy 相关错误,尝试降级 NumPy 到 1.24.3 版本
pip install numpy==1.24.3
-
CUDA 相关错误:确保已正确安装 CUDA 和 cuDNN,并且系统环境变量中包含 CUDA 路径。如果仍然有问题,程序会自动使用 CPU 模式,不影响正常使用。
-
模型下载失败:如果模型下载失败,可以手动下载模型文件并放置在用户主目录的
.u2net
文件夹中 -
内存不足:处理大图片时可能会遇到内存不足的问题,可以尝试减小并行处理的线程数
-
警告信息:程序运行时可能会显示一些 CUDA 相关的警告信息,这些通常不影响程序的正常运行,可以安全忽略
如果您想为项目做出贡献或进行测试,可以运行测试脚本:
python test.py