一张插画如何变成 20 个可编辑图层?手把手拆解 LayerDivider
2026/8/15 13:23:32 网站建设 项目流程

一张插画如何变成 20 个可编辑图层?手把手拆解 LayerDivider

【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider

关键词注记:核心关键词「图片自动分层」;长尾关键词「插画拆分PSD图层」「LayerDivider安装使用」「图层结构自动生成」。

上周帮朋友处理一张游戏立绘,他要把角色、背景、阴影分开。手动抠图加修边,一个下午只完成了一半,还磨坏了耐心。同样的活,用图片自动分层工具 LayerDivider 跑一遍,从拖入图片到拿到 PSD 文件,大约一杯咖啡的时间。

LayerDivider 是一个开源图像分层工具,核心功能只有一句话:把单张插画拆成分层结构,输出成可以直接在 Photoshop 里继续编辑的 PSD 文件。它不追求什么"一键成神",而是把原本靠手工的重复劳动变成参数化流程。这篇文章按任务线讲清楚它怎么装、怎么用、什么时候该用哪种模式。

上图是一张包含红、蓝、绿、黄四种元素的简单设计图,接下来我们全程用这张图验证工具效果。

环境准备清单:装完需要 10 分钟,别急着点"开始"

LayerDivider 基于 Python 3.10.8 开发,先确认本机装好了 Python 和 Git。Windows 用户有两个脚本可选:日常用 Python 命令执行的话跑install.ps1,用py启动器的话跑install_with_launcher.ps1。脚本会自动创建虚拟环境并装齐依赖,省去手动 pip 的麻烦。

git clone https://gitcode.com/gh_mirrors/la/layerdivider

这行命令把项目拉到本地,之后只需执行一次install.ps1完成首次安装,再运行run_gui.ps1启动 Gradio 网页界面,浏览器访问localhost:7860就能看到操作面板。依赖清单集中在requirements.txt里,核心是 OpenCV、scikit-learn、pytoshop 和 psd-tools——前者负责图像处理,后两者负责读写 PSD。如果你的机器带 GPU,安装脚本还会顺带配上 torch 和 segment_anything,为对象分割模式做准备。

装好之后,第一步自然是拖入刚才那张示例图,看看界面里有哪些可以动的东西。

两套分层思路:按颜色拆,还是按对象拆?

界面里有一个下拉框,对应两种完全不同的分层策略。

色彩聚类模式(color_base_mode)走的是传统算法路线。图像先被转成像素级数据框,用 MiniBatchKMeans 按 RGB 信息聚类,再用 CIEDE2000 色彩差异公式判断哪些颜色"足够接近",把相近的类合并,配合模糊平滑让边缘自然过渡,最后为每一类生成独立图层。它不认"这是一个苹果",它只认"这是一团相近的颜色"。适合色块分明的平面设计、UI 组件和图标,处理速度快,不需要额外下载模型。

对象分割模式(segment_mode)则调用了 Segment Anything 模型,模型权重首次运行会自动下载到segment_model/目录。它先把图像中独立的元素识别出来并生成遮罩,再基于遮罩拆分图层。适合角色立绘、产品摄影这类"按物体边界走"的场景。代价是更吃配置、耗时更久,权重文件也有 2GB 以上,纯 CPU 机器要掂量一下。

上面是示例图在色彩聚类模式下的输出,四个元素各自成为独立的图层,说明对于色块清晰的图像,传统算法已经足够干净。两套思路没有谁绝对更好,先分清自己图里"该切的地方"是按颜色还是按物体,就选对了一大半。

四个旋钮一次说清:从默认值出发微调

界面参数不少,但真正影响分层质量的,主要是这四个:

  • init_cluster(初始聚类数量):数字越大,初始分得越细,图层数量越多。默认 10,追求更精细可以往 20 以上调。
  • ciede_threshold(色彩相似度阈值):决定两个颜色"多像才算同色"。阈值越高,合并越激进,图层越少;默认 5。
  • blur_size(模糊尺寸):控制边缘平滑强度,越大边缘越柔和,但也可能吞掉细节。
  • loops(循环次数):聚类、合并、重涂这组操作重复几遍,默认 1 就够,复杂图可以加到 2 到 3。

调参建议遵循一个原则:从默认值出发,每次只动一个参数,对比前后输出。比如分层太碎就调高ciede_threshold或调低init_cluster,边缘太糙就加大blur_size。这套逻辑在ldivider/ld_processor.py里实现,改一次跑一次,直观观察变化,比盲目堆参数靠谱得多。

输出的 PSD 里到底有什么?

点下 "Create PSD" 之后,工具会按layer_mode给出两种组织方式。

normal模式输出三类图层:基础层(base)、亮部层(bright)和暗部层(shadow),每个元素在每类里各占一层,命名形如 base0、bright1、shadow2,结构直白,适合直接叠回去还原原图。

composite模式则追加了两类混合图层——屏幕层(screen)、正片叠底层(multiply)、减法层(subtract)和加法层(addition),用 Photoshop 的混合模式组合出更接近原图的明暗细节。生成逻辑在ldivider/ld_utils.pysave_psd里,图层记录通过 pytoshop 逐层写入。对于插画师来说,composite给了更多后期编辑空间;只想要干净分层,normal就够。

对比项normal 模式composite 模式
图层类型base + bright + shadow再加 screen/multiply/subtract/addition
适用场景快速拆分、结构清晰需要保真明暗细节、后续精修
图层数量元素数 × 3元素数 × 5

合适与不合适:先认清边界再上手

诚实地说,LayerDivider 不是万能的。它擅长的是图层结构自动生成这件事,尤其适合这三类人:游戏美术拿到拆分好的角色资源、UI 设计师批量整理组件、插画师想按颜色快速分离元素。

它不适合的场景也明确:追求"一键精修"的用户会失望,因为拆出来的图层需要人工整理命名;超高清海报直接跑会很慢,官方思路是先在低分辨率上确认参数,再对原图执行;纯 CPU 跑对象分割模式会明显卡顿,建议优先用色彩聚类模式。

下一步:挑一张最简单的图开始

把四色示例图跑通,观察参数变化如何影响图层数量,是成本最低的上手路径。等到能预测"调哪个参数会让哪部分变细",再拿自己的真实素材上阵,这时你才真正用熟了这个工具。

建议从segment_model/目录确认模型就位,或直接用色彩模式跳过模型下载,今天就能出第一份 PSD。项目仓库里还有demo.py可以直接看完整调用流程,遇到参数效果不符合预期的问题,欢迎到仓库提 issue 或反馈你的调参经验。

【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询