群晖部署 image-matting:把人像去背景做成一个随开随用的 Web 工具

前言

抠图这件事,真正麻烦的往往不是"有没有软件能做",而是每次都要打开专门的修图工具、导入图片、调整参数,再处理边缘细节。

如果需求只是给人像快速去背景,一个更直接的思路是把这项能力做成网页工具:照片上传以后自动处理,电脑和手机只要能打开浏览器,就可以直接使用。

这次在群晖 NAS 上部署的 image-matting ,就是这样一个本地 Web 抠图服务。它通过 Docker 运行,浏览器访问 3800 端口后即可上传图片并查看处理结果。原文已经完成了实际部署和效果验证,因此这篇文章不会再把重点放在"神器""高精度"这些宣传词上,而是围绕它最核心的使用链来展开:

群晖启动服务 → 浏览器上传图片 → 查看去背景结果 → 有异地需求时再增加公网访问。

如果只在家里或办公室局域网内使用,image-matting 本地部署完成后就已经足够;只有需要在外部网络继续打开这个页面时,再通过 cpolar3800 Web 服务增加公网入口。

1.群晖部署 image-matting

这一部分先只解决一个问题:让 image-matting 在群晖上稳定运行,并且浏览器能够正常访问页面。

本文继续使用 Docker 部署,环境为群晖 NAS。

1.1ssh远程连接到群晖nas

  • 开启【SSH 服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:
shell 复制代码
ssh root@IP

1.2验证docker是否开启

使用命令:

shell 复制代码
docker -v 
systemctl status docker

1.3安装image-matting

SSH 和 Docker 都确认正常以后,开始部署 image-matting。这里先创建程序目录,再通过 Compose 启动服务:

shell 复制代码
mkdir -p /docker/image-matting
cd /docker/image-matting

请将下面的内容保存为 docker-compose.yml 文件:

shell 复制代码
version: '3'
services:
  image-matting:
    image: ihmily/image-matting:latest
    container_name: image-matting
    ports:
      - "3800:8000" # 左侧可自定义端口
    restart: unless-stopped

执行下列命令:

shell 复制代码
docker-compose up -d

容器启动后,在浏览器中输入 http://群晖IP:3800 进行访问验证。页面能够正常打开,说明 image-matting 本体和 3800 端口映射已经可用:

原文随后上传图片进行了实际处理。从截图结果看,去背景流程已经能够正常完成:

2.安装cpolar补充外网访问

到这里,image-matting 在局域网内已经可以正常使用。

如果平时只在家里、办公室或同一个局域网中使用,直接访问 http://群晖IP:3800 就够了。只有当手机或电脑离开当前网络以后,还希望继续打开同一个抠图页面,才需要增加公网访问。

下面安装 cpolar。它只负责把 image-matting 的 3800 Web 页面提供到外部网络,不参与图片去背景处理本身。

群晖系统的软件安装方式与 Windows 不同,首先下载 cpolar 的群晖系统套件。

首先登录cpolar的官网,点击网页上方的"下载"按钮:

在cpolar下载页面找到"NAS群晖"选项,点击"立即下载"。

进入cpolar的NAS群晖下载页面后,在下拉菜单中选择NAS群晖型号,以及群晖系统版本。

本教程中,我们可以通过群晖搜索助手看到型号是:DS3622xs+

回到cpolar群晖下载页面,选择好型号、版本、点击下载:

下载后的cpolar安装文件为:cpolar_x64-7.0_3.2.92-1.spk

回到群晖系统中,点击进入"套件中心",点选右侧的"手动安装"按钮:

此时会出现一个"上传套件"的页面,在这里点击"浏览"按钮,选择我们下载的cpolar套件位置,下一步:

点击同意:

点击完成:

安装完成后回到套件中心主页,可以看到 cpolar 已经加入"已安装"列表。

点击 cpolar 进入软件信息页,可以看到用于访问 cpolar Web-UI 的地址。后面的隧道都在这个管理界面中配置。

打开 Cpolar Web-UI 后,可以通过页面下方的"免费注册"入口创建账号并登录。

3.配置公网地址

这里先使用随机域名做连通性验证。目标只是确认外部网络能不能正确打开 image-matting 的 3800 页面。

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:

  • 隧道名称:可自定义,本例使用了:image,注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:3800

  • 域名类型:随机域名

  • 地区:选择China Top

    点击创建:

创建成功后,打开左侧在线隧道列表,可以看到刚刚生成的公网地址。此时可以换到其他网络中的电脑或移动端设备进行访问测试。

image-matting 页面能够通过公网地址打开,说明 3800 的远程访问链路已经打通。

4.保留固定公网地址

随机地址适合测试。如果准备长期在手机、电脑上保存这个抠图页面,或者经常需要异地打开,再继续配置固定二级子域名会更方便。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是imagee,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道image,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

更新完成后,打开在线隧道列表,可以看到原来的随机公网地址已经变成保留的二级子域名形式。

最后,再使用配置后的固定公网地址访问 image-matting。页面能够正常打开,说明二级子域名已经绑定到当前隧道,后续可以继续使用这个固定入口。

到这里,本地抠图页面和外网访问入口都已经完成。是否长期开放公网访问,可以根据自己的实际使用需求决定。

总结

image-matting 这类工具的价值其实很明确:把原本需要打开专门修图软件完成的去背景操作,变成一个浏览器里就能使用的本地服务。

这次在群晖上的流程已经验证了完整使用链:

  • 通过 Docker 启动 image-matting;
  • 浏览器访问 3800 页面;
  • 上传图片并获得去背景结果;
  • 如果存在异地使用需求,再通过 cpolar 增加公网访问入口。

整套结构始终可以分成两层:

  • image-matting:负责图片上传和去背景处理;
  • cpolar :只负责让本地 3800 Web 页面可以从外部网络访问。

如果只在局域网里使用,到第一部分其实已经完成;公网访问并不是抠图功能的必要条件,而只是使用范围的扩展。

另外,公网访问虽然方便,但也意味着原本只在内网可见的页面被提供到了外部网络。因此是否长期保留固定地址,最好按实际需求决定,不必为了"随时可访问"而默认一直开放。

对于经常需要快速处理人像背景、又已经有一台长期在线群晖 NAS 的用户来说,这类 Web 化工具最大的好处不是功能有多复杂,而是上传、处理、拿结果这条路径足够短。

相关推荐
晴天161 小时前
peerDependencies 全面解析:前端依赖生态的核心机制与实战指南
前端·npm
千里马-horse1 小时前
第 61 章:设备策略与 Android 企业版
android·aosp
程序员蜡笔熊1 小时前
Vite 8 换芯实测:Rolldown 替掉双引擎,构建快 3.19 倍
前端·javascript·vue
2501_915106321 小时前
Flutter iOS混淆打包详细教程与步骤
android·flutter·ios·小程序·uni-app·iphone·webview
右耳朵猫AI1 小时前
Web前端周刊2026W36 | pnpm 12 Rust 重写、Remix 3 RC、Node.js 26.8.0、htmx 4.0 大版本
前端·rust·node.js
三少爷的鞋1 小时前
Android 架构演进:从生命周期事件到结构化任务
android
平头哥~1 小时前
Day 21 | animation 与 keyframes:把动画从 A 到 B 变成多点编排
前端·css·css3·css学习
一笑的小酒馆9 小时前
AndroidKMP之网络请求
android
宿67411 小时前
vue3-包管理器
前端·vue.js