
一键抠图
用 Transparent Background 在 Windows 与 Mac 上实现右键一键抠图
介绍如何用开源工具 Transparent Background 配合 Python、PyTorch 环境,在 Windows 与 Mac 上配置右键一键抠图,支持单张图片、批量文件与文件夹,输出透明底、白底或自定义背景,并整理常见报错的处理思路。
抠图是很多人日常要处理的事情:做电商主图、给文章配图、给视频换背景,都绕不开把主体从背景里分离出来。Photoshop 能做,但门槛和成本都在那里;在线抠图服务方便,却要上传素材、按张计费,批量处理时并不划算。这里要讲的是一条本地路线:用开源项目 Transparent Background 在电脑上完成抠图,再把它接进系统的右键菜单,做到选中文件、右键、出图。整套流程跑在本地,不依赖网络上传,支持图片与视频,也能处理整个文件夹。如果你更想先看看站内还有哪些同类工具,可以打开 一键抠图 这个工具页对照一下。
需要先说明这套方案的性质:Transparent Background 是一个命令行程序,本身没有图形界面。所谓「一键」,是靠操作系统的「发送到」菜单(Windows)或「快速操作」(Mac)把命令包装起来,让右键菜单替你把命令敲完。因此前置配置只需要做一次,之后日常使用就是右键点一下。本文按「装环境 → 装程序 → 接右键菜单 → 批量使用 → 排错」的顺序讲,Windows 与 Mac 分别说明。
准备工作
硬件与系统条件
- Windows 与 Mac 都可以,Linux 理论上同样可行,但缺少实测环境,本文不展开。
- 有独立显卡(NVIDIA)时可以走 GPU 加速,速度明显更快;没有独显就用 CPU 版本,功能不受影响,只是慢一些。
- AMD 显卡与 Intel 核显不被这套 GPU 方案支持,这类机器请直接安装 CPU 版本。
- Windows 7 最高只能装到 Python 3.8,能否跑通没有确定结论,条件允许的话建议升级系统。
- Mac 的 Intel 芯片机型经测试不受支持,Apple Silicon 机型可以正常使用。
安装 Python
Transparent Background 是 Python 程序,第一步是把 Python 装好。
- Windows 安装时务必勾选「Add Python 3.x to PATH」,否则后面在命令行里调用会提示找不到命令。
- 版本选择上,考虑到兼容性,不建议用 3.11,3.10.10 是比较稳妥的选择。
- Mac 自带的是 Python 2.x,需要另外安装 3.x 版本。
- 安装方式选默认,一路确认到底即可。
安装 PyTorch
PyTorch 是这套抠图模型依赖的深度学习框架,必须先装。打开命令行(Windows 用 CMD,Mac 用「终端」),按机器情况选一条命令执行:
# CPU 版本
pip3 install torch torchvision torchaudio
# GPU 版本(NVIDIA 显卡,CUDA 11.8)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# Mac 版本
pip3 install torch torchvision torchaudio
两点提醒:CPU 版本下载量大约 300MB,GPU 版本约 2.7GB,后者耗时明显更长;GPU 版本在安装收尾阶段会停在「Installing collected packages」约一分钟,这期间不要关闭窗口,等它自己走完。
安装 Transparent Background 本体
框架装好后,再装抠图程序本身。常用命令如下:
# 安装
pip3 install transparent-background
# 升级
pip3 install -U transparent-background
# 卸载
pip3 uninstall transparent-background
下载慢或装不上时换镜像源
pip 默认源在境外,下载 PyTorch 这类大包时可能极慢甚至中断。临时办法是在原命令后追加 -i 加镜像地址,例如使用阿里源:
# CPU 版本 PyTorch,走阿里源
pip3 install torch torchvision torchaudio -i https://mirrors.aliyun.com/pypi/simple/
# GPU 版本 PyTorch,走阿里源
pip3 install torch torchvision torchaudio -i https://mirrors.aliyun.com/pypi/simple/ --extra-index-url https://download.pytorch.org/whl/cu118
# Transparent Background,走阿里源
pip3 install transparent-background -i https://mirrors.aliyun.com/pypi/simple/
上面的写法只对当次命令生效。如果希望以后所有 pip 安装都默认走镜像,可以改全局配置:
# 设为默认阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 恢复默认源
pip config unset global.index-url
Windows 与 Mac 的写法一致。镜像地址与可用性会随时间变化,具体以各镜像站当前公布的信息为准。
操作步骤
第一步:确认命令行能调用程序
在接右键菜单之前,先在命令行里手动跑一次,确认环境没问题。把一张测试图片放到某个目录,执行:
transparent-background --source 测试图片.jpg --destination 输出目录
如果命令能被识别并正常出图,说明 Python、PyTorch、程序本体三者都装好了,可以继续往下做。如果提示「无法将 transparent-background 项识别为 cmdlet」之类的红字,说明前置软件没装成功,回到上一节用镜像源重装。
第二步:Windows 接入「发送到」菜单
Windows 的右键「发送到」菜单是一个普通文件夹,把快捷方式丢进去,右键菜单里就会出现对应条目。位置是:
C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\SendTo
做法是准备一个批处理脚本(.bat),里面写好调用 transparent-background 的命令,再为它创建快捷方式,把快捷方式移动到上面的 SendTo 目录。之后选中图片右键 →「发送到」→ 该快捷方式,就会开始抠图。批处理脚本首次运行时可能需要以管理员身份执行。
脚本里可以预设三种输出模式:透明底、白底、自定义背景。默认提供透明与白底两种最常用的,自定义背景则通过替换背景图片实现(见下文「使用技巧」)。
第三步:Mac 接入「快速操作」
Mac 上对应 Windows「发送到」的机制叫「快速操作」,底层是 Automator 的 Workflow 脚本。可以自己打开「自动操作」新建一个「快捷操作」,也可以直接双击现成的 Workflow 脚本安装,脚本会被放到:
~/Library/Services
安装完成后,在访达里选中文件右键,菜单里的「快速操作」子项就能看到它。想调整菜单里显示哪些项,可以在右键菜单的「快速操作」→「自定...」里修改。
第四步:Mac 手动放置模型文件
Transparent Background 首次运行需要下载模型权重。如果网络环境导致自动下载失败,可以手动放置:把模型文件放进下面这个目录。
~/.transparent-background
在「访达」里按 Cmd+Shift+G 可以直接跳转到指定路径。注意这个目录默认可能不存在,需要自己新建。放好模型后即可正常使用。
第五步:批量处理
右键菜单支持三种调用方式:单个文件、多个文件、整个文件夹。选中多个文件或一个文件夹后右键调用,脚本会逐个处理。处理结果与原文件并列存放,不会覆盖原图。
脚本内置了几项省心的行为:自动过滤不支持的格式、自动跳过已经处理过的文件、支持多个任务同时运行。批量处理大量素材时,这几条能省掉不少手工筛选。
一个完整示例
下面以 Windows + CPU 版本为例,从零走一遍,目标是让右键菜单能一键输出透明底 PNG。
1. 装 Python。 下载 3.10.10 安装包,安装时勾选「Add Python 3.x to PATH」,其余默认。
2. 装 PyTorch(CPU 版)。 打开 CMD:
pip3 install torch torchvision torchaudio -i https://mirrors.aliyun.com/pypi/simple/
3. 装抠图程序。
pip3 install transparent-background -i https://mirrors.aliyun.com/pypi/simple/
4. 命令行验证。 准备一张 test.jpg,执行:
transparent-background --source test.jpg --destination out
到 out 目录里看是否生成了透明底图片。这一步通过,说明整条链路是通的。
5. 写批处理脚本。 新建一个文本文件,改名为 抠图.bat,内容调用上面的命令,把输出目录指向与原图同级的位置。保存时编码注意与系统一致,避免中文乱码。
6. 放进「发送到」。 为 抠图.bat 创建快捷方式,把快捷方式剪切到 C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\SendTo。
7. 使用。 在资源管理器里选中一张或多张图片,右键 →「发送到」→「抠图」,等待命令行窗口跑完,输出文件会出现在原图旁边。
Mac 的流程对应为:装 Python 3 → 装 PyTorch → 装 transparent-background → 把模型放进 ~/.transparent-background → 双击安装 Workflow 脚本 → 右键「快速操作」调用。
使用技巧
替换自定义背景
如果需要在抠图的同时自动合成背景,可以准备一张背景图,命名为 background.png,替换掉程序目录下 Models 文件夹里的同名文件。之后选择「自定义背景」模式,输出就会带上这张背景。
展开全部选项
默认菜单只放了最常用的几项。想看到全部参数,可以运行 Batch 文件夹下的「! 所有选项加入菜单.bat」,把所有选项加进右键菜单;菜单项太多时,用右键菜单里的「整理 [发送到] 菜单」来管理。
格式限制
图片只支持 .jpg 与 .png,视频只支持 .mp4 与 .mov。其它格式需要先手动转换,否则会被自动过滤掉。
速度与分辨率
处理速度与图片分辨率直接相关。1000×1000 像素的图片在 CPU 上大约 5 秒,在 RTX 4060 上不到 1 秒;2K、4K 图片会慢很多,视频同理。批量处理高分辨率素材时,有独显的机器优势明显。
注意事项
报错:无法识别 transparent-background
右键调用后弹出红字「无法将 transparent-background 项识别为 cmdlet」,说明前置软件没装好。优先用镜像源重装 PyTorch 与 transparent-background,再回到命令行手动验证一次。
报错:找不到 fbgemm.dll 或依赖模块
Windows 上可能出现 OSError: [WinError 126] 找不到指定的模块,指向 torch\lib\fbgemm.dll。处理办法是单独下载 libomp140.x86_64.dll 这个文件,放到对应的 lib 文件夹里。
怎么判断用的是 CPU 还是显卡
运行时留意提示信息:出现 Device=cpu 表示在用 CPU,出现 Device=cuda:0 表示在用显卡。如果装了独显却显示 CPU,说明装的是 PyTorch 的 CPU 版本。需要先卸载再重装 GPU 版:
pip3 uninstall torch torchvision torchaudio
卸载后按「准备工作」里的 GPU 命令重新安装。另外,A 卡与 I 卡都不被支持,这类机器只能用 CPU 版本。
处理完找不到输出文件
输出文件与原文件并列存放,先回到原图所在目录查看。如果命令行窗口一闪而过、没有任何输出,通常是调用失败,需要让窗口停留以便看到报错信息,再按上面的条目排查。
中文乱码
部分环境下批处理窗口与「发送到」菜单里的中文会显示为乱码,这与脚本文件的编码和系统区域设置有关,保存脚本时统一使用与系统匹配的编码即可。
抠图效果不理想
AI 模型由算法驱动,无法保证每张图都完美,发丝、半透明物体、主体与背景颜色接近的场景尤其容易出问题。遇到效果不佳的图,换一张对比度更高的原图,或改用专门的修图流程处理,比反复调参数更有效。
关于费用与版本
Transparent Background 是开源项目,本地运行不产生按张计费。但 Python、PyTorch 的版本兼容性、镜像源可用性、模型文件的分发方式都会随时间变化,安装前请以各项目官网当前公布的信息为准。