
图像分层终极解法LayerDivider 一键把单张插画拆成可编辑 PSD【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider设计圈里有个绕不开的痛点拿到一张合层插画想改其中某个元素的颜色、位置却只能对着扁平图发愁。手动抠图、逐层重建动辄耗费数小时。LayerDivider 正是为解决这个问题而生的开源图像分层工具它用聚类算法和对象分割模型把单张图片自动拆成结构清晰的 PSD 图层文件让一键图像分层从理想变成现实。为什么说手动分层是一场噩梦做过游戏美术或插画改稿的人都有体会甲方只给了你一张 PNG却要你把背景调亮一点把主角和装饰物分开。你被迫打开 PS 用魔棒、钢笔一点点描边遇到毛发、半透明、色彩相近的区域更是灾难。更糟的是逐层抠出来的图一旦要二次修改图层结构混乱到连原作者都难以维护。图像分层之所以是硬需求本质是编辑自由度问题——没有分层就没有后续的调色、重组与迭代空间。两种分层算法覆盖不同图像类型LayerDivider 的核心逻辑并不复杂先分析像素再把相似像素归并为独立图层。它提供了两套引擎分别面向按颜色拆和按物体拆两种需求对应代码位于 ldivider/ld_processor.py 与 ldivider/ld_segment.py。 色彩聚类模式适合插画与平面设计第一套引擎的做法非常直观把图片按 RGB 信息逐像素聚类再用 CIEDE2000 色差公式判断哪些聚类颜色足够接近把它们合并成一组。合并后会做模糊平滑让层与层之间边缘更自然然后反复迭代优化。最终按聚类结果生成基础图层并计算与原图的色差生成高光、阴影等效果图层。整个过程只有四个核心参数很好上手。 对象分割模式适合角色与复杂场景如果图像里是多个独立物体叠在一起——比如一个角色站在背景前——按颜色拆就不好使了。这时可以切换到 Segment AnythingSAM模型模式先用自动掩码生成器把画面里的独立对象识别出来再基于掩码把每个对象单独做成图层。参数上只需关注pred_iou_thresh、stability_score_thresh、min_mask_region_area这几个置信度阈值调低一些能拆得更细调高则更干净。五步完成安装最快五分钟跑起来不用写任何代码LayerDivider 自带 Gradio 图形界面。最短路径如下克隆仓库git clone https://gitcode.com/gh_mirrors/la/layerdividerWindows 用户首次运行install.ps1自动完成 Python 依赖安装Python 3.10.8 及以上使用py命令启动器的用户改用install_with_launcher.ps1运行run_gui.ps1打开本地界面浏览器访问localhost:7860上传图片即可开始分层。不想装环境仓库还提供了layerdivider_launch.ipynb笔记本一键跑完所有单元格后界面会输出一个公网地址在任何设备上都能直接使用。分层结果默认保存到 output/ 目录下的output_xxx.psd文件。最小代码示例三行实现分层如果你想把它嵌入自己的 Python 工作流核心调用也极其精简。分层逻辑全在get_base()这一个函数里from ldivider.ld_processor import get_base # 图像分层loops 迭代次数init_cluster 聚类数ciede_threshold 色差阈值blur_size 模糊强度 df get_base(input_image, loops1, init_cluster10, ciede_threshold5, blur_size5, h_split256, v_split256, n_cluster500, alpha100, th_rate0.1, bg_splitFalse)拿到的df就是带图层标签的像素数据配合ld_utils.save_psd()即可写出 PSD。更完整的参考入口在 demo.py 和 scripts/main.py。参数调优指南不同图像用不同配方四个核心参数决定分层粗细推荐配置如下图像类型loopsinit_clusterciede_thresholdblur_size简单插画 / 图标18-128-103-5复杂插画2-315-205-75-7UI 组件110-156-82-4产品摄影212-187-94-6口诀是init_cluster越大图层越细ciede_threshold越小颜色分得越开blur_size越大边缘越柔和。首次使用时建议从init_cluster10起步逐步调大观察效果变化。两种输出模式普通图层还是混合图层分层结果导出 PSD 时output_layer_mode参数决定文件结构normal普通模式每个元素只生成基础图层、亮部图层、暗部图层干净直观适合继续手工编辑composite混合模式额外生成屏幕Screen、正片叠底Multiply、减去Subtract、线性减淡Linear Dodge等混合图层用图层混合模式还原原图色彩。直接改图层不透明度就能调色适合需要反复微调的工作流。常见问题速查分层结果不够细怎么办优先调大init_cluster比如从 10 提到 20再适当降低ciede_threshold让相近颜色不要被过早合并。复杂图像请直接切换到对象分割模式。运行速度偏慢先降低输入图片分辨率或把loops降到 1、blur_size调小同时关闭背景分离split_bgFalse速度提升非常明显。生成的 PSD 文件太大说明聚类数偏高合并相近色图层、降低init_cluster即可显著压缩体积。从今天开始告别手动抠图LayerDivider 把设计师最头疼的拆图层环节彻底自动化插画、UI、角色立绘拖一张图进去几分钟就能拿到结构清晰、可直接编辑的 PSD。无论你是把 bg_remover.py 的背景分离和 SAM 分割组合使用还是接进 Stable Diffusion 的 WebUI 作为扩展脚本它都能无缝融入现有工作流。开源项目最棒的地方在于你可以按需改算法也可以提需求帮助它变得更好。现在就克隆仓库跑一次样例图亲眼看看输入一张图、输出整组图层有多痛快。【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考