告别手动抠图:一张图片如何自动拆成可编辑图层
【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider
设计师小林盯着屏幕上的原画,凌晨两点还在用钢笔工具一点一点描边。如果你也经历过这种「一张图锁死一个晚上」的时刻,那么 Layerdivider 这个开源的AI 图片分层工具,或许能帮你把几小时的手工活压缩成几分钟。它做的事情很简单:把一张成品图,自动拆成一份能继续编辑的 PSD 分层文件。今天咱们就从它的真实使用场景聊起,看看它到底能替你省下多少力气。
为什么手动分层那么折磨人
先说一个扎心的事实:很多插画师、UI 设计师拿到的素材,往往是「一张图,一个图层」。想改个颜色?整张图一起变。想单独动一下背景?对不起,没有背景图层。
传统做法只有硬扛:
- ⏰ 复杂插画手动分层,两三个小时起步,中途还不能分心
- 🎨 对钢笔、套索、通道抠图的熟练度要求极高
- 🔍 边缘稍微复杂一点,抠出来的头发丝、树叶全是毛边
说白了,这个环节技术含量不高,但极其耗人。真正该花时间的是创意本身,而不是给图层描边。
破局之道:Layerdivider 是怎么做到的
Layerdivider 的思路很直白——把「分层」这件事交给算法。你给它一张图,它返回一份带完整图层的 PSD,打开就能继续改。它内部有两条路线可选:
一条走颜色路线。它把图片逐像素按 RGB 信息做聚类,再用 CIEDE2000 色差标准把相近的颜色归并成组,反复迭代几轮后,颜色相近的区域自然就各成一派,最终每个色群被整理成一个独立图层。说白了,就是让「颜色一致」替你完成分层的判断。
一条走语义路线。它借助 Segment Anything 这类语义分割模型,先去识别图片里的「对象」——比如人、树、杯子、阴影——再基于识别出的蒙版做图层切分。这条路线特别适合处理「颜色乱但对象清晰」的照片级素材。
两条路线的最终产物都一样:一份图层分明、能直接拖进 Photoshop 的 PSD 文件。先看两张示意图,感受一下「一张图」和「几十层」的差别:
开箱即用:从零到第一个PSD,五分钟够用
别急着研究算法,咱们先把工具跑起来。整个过程分三步:
第一步,把项目拉到本地。命令行执行:
git clone https://gitcode.com/gh_mirrors/la/layerdivider cd layerdivider第二步,装依赖。Windows 用户直接双击运行install.ps1,脚本会替你搭好虚拟环境;macOS 或 Linux 用户执行pip3 install -r requirements.txt即可。装完跑一句python3 demo.py,浏览器会自动打开一个本地界面,默认地址是localhost:7860。
第三步,上传图片,点一下「Create PSD」。就这么简单,几秒到一两分钟后,页面下方就会出现生成好的.psd文件,下载、拖进 PS,开工。
如果你是第一次用,记住这组稳妥的起步值:循环次数loops填 4 左右,初始聚类init_cluster填 10,色差阈值ciede_threshold填 5,模糊大小blur_size填 3。先用一张色块分明的插画试水,成功一次之后,信心就来了。
设计师、电商运营、动画师,各自能玩出什么花样
工具本身只是起点,真正有意思的是不同身份的人怎么用它。
插画师与 UI 设计师:把成品图变回半成品。客户给了一张已经「定型」的插画,要求改配色?直接把它丢进 Layerdivider,生成的分层 PSD 里每个色块都能单独改色、单独移动。你甚至能利用output_layer_mode的composite选项——它会额外生成屏幕、正片叠底、线性减淡等混合模式的图层,方便你在不改动底色的前提下做光影微调,做特效时特别好用。
电商运营:一套图变 N 套图。商品图最麻烦的不是拍摄,而是「每个平台都要一版尺寸和背景」。分层之后,背景、主体、高光各自独立,换背景色、裁切尺寸、批量生成多平台素材,一次处理反复复用。省下的时间足够你多写几份详情页文案。
动画师与内容创作者:给静止的角色装上「关节」。角色原画被拆成头、身体、四肢、配饰这些独立图层后,直接导入 Spine 或 After Effects 做逐层绑定和动画,不用再为「没法单独动某个部位」发愁。对做动态插画、Live2D 的创作者来说,这几乎是白捡的福利。
避坑手册:参数怎么调才不翻车
第一次上手,你大概率会遇到下面这些问题,咱们提前把坑填上。
出图结果「糊成一团」?多半是色差阈值ciede_threshold设得太大,把该分开的颜色强行合并了。试着降到 3~4,分层会明显变细。相反,如果结果碎得像撒了一地芝麻,那就是阈值太小,往 6~8 调一调就好。
颜色越多的图越难分?很正常。画面色彩越丰富,init_cluster就要给得越大,给聚类算法留出足够多的初始分组;但别一口气拉满,先用 15~20 试跑,再根据效果微调,比盲目堆数值靠谱得多。
处理大图时转圈半天?先别骂机器。建议先用缩略图把参数调顺,确认效果后,再用原图跑最终结果;同时留意loops循环次数,它直接决定精细度,也直接决定耗时。想要精细效果又嫌慢,就 8~10 次封顶。
分层结果要过几道「质检」?拿到 PSD 后,挨个图层检查四件事:重要元素是不是都独立成层了、图层命名看不看得懂、透明度有没有异常、边缘有没有明显锯齿。哪一环不对,回到参数面板微调重跑,成本远低于手动重做。
下一步:从今天的一张图开始
写到这里,你大概已经摸清 Layerdivider 的全貌了:它不追求替代你的设计能力,只负责把「分层」这种重复劳动自动化。免费、开源、本地运行,没有隐私顾虑,也没有次数限制。
所以,今天下班前不妨做个小实验:随便挑一张你手头的图,按上面的步骤跑一遍,看看它会拆出几层、层与层之间的边缘是否让你满意。评论区聊聊你的结果——你拿到的第一份分层 PSD 是什么样子的?有没有哪张图难倒了它?如果你更想深入源码,核心处理逻辑都在 ldivider/ 目录下,ld_processor.py里藏着颜色聚类的细节,ld_segment.py里是语义分割的接入方式,值得一读。
欢迎把这篇转给那个还在深夜抠图的朋友,他应该会感谢你。
【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考