LayerDivider 图像分层实战:如何用 3 步把一张插画变成 PSD 分层文件
LayerDivider 图像分层实战如何用 3 步把一张插画变成 PSD 分层文件【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider想象一下这个场景你花了一下午画好一张插画交稿前甲方突然说背景颜色能不能换个更温暖的或者右上角那个小元素单独帮我放大一点。你打开设计软件对着这张已经焊死成一张图的画作只能拿起套索工具一点一点地描边、抠图、调整……光是想到这个画面就让人头大。这正是无数设计师每天都在经历的事。而今天要介绍的LayerDivider 图像分层工具就是为了终结这种手动抠图地狱而生的。它是一个开源项目做的事情只有一件却非常关键把一张已经合并成单层的图像自动拆解成结构清晰、可编辑的分层文件。它的核心关键词就是图像分层——用算法替你完成那些重复、枯燥、考验耐心的拆层工作把创意时间还给你。先搞清楚它到底帮你省了什么LayerDivider 会读取一张普通的插画或设计图通过算法自动识别图中的颜色区块和独立元素然后生成一份包含多个图层的 PSD 文件。你拿到手的不是一张死图而是一组可以单独移动、上色、隐藏、调整的图层。过去需要几小时手工抠图的工作现在变成点击几下按钮——这就是它全部的价值。跟着做一遍5 分钟跑通你的第一次图像分层与其对着说明书发呆不如直接上手。整个体验过程比我预想的顺畅你也跟着来一遍。第一步把项目请到本地LayerDivider 使用 Python 开发环境要求不算苛刻主要依赖 OpenCV、scikit-learn、Gradio、pytoshop 等库可以看看 requirements.txt 了解完整清单。先把它克隆到本地git clone https://gitcode.com/gh_mirrors/la/layerdividerWindows 用户接下来只需两步首次使用运行install.ps1它会帮你创建虚拟环境并安装全部依赖如果用的是 Python 启动器py命令则改用install_with_launcher.ps1因为两者调用 venv 的方式不同。等它跑完运行run_gui.ps1稍等片刻浏览器就会打开localhost:7860——一个基于 Gradio 的图形界面。第二步上传图片选对分层模式界面上传一张图后你会遇到第一个选择题segment_mode还是color_base_mode这俩是项目提供的两种分层思路对应不同的图像类型对象分割模式segment_mode集成了 Meta 的 Segment Anything 模型适合画面里有多个独立对象的图——比如一栋建筑、一棵树、一个人物。它擅长把物体从场景里分离出来。相关逻辑在 ldivider/ld_segment.py 中。色彩聚类模式color_base_mode基于 MiniBatchKMeans 聚类算法把颜色相近的像素归为一组适合色彩分明、以颜色区块为主的图——UI 组件、图标、扁平插画都是它的主场。核心实现在 ldivider/ld_processor.py。选错模式也没关系效果不满意就换一种再跑一次成本很低。我的建议是分不清物体就先用 segment_mode画面像色块拼贴就用 color_base_mode。第三步点一下 Create PSD点击Create PSD等待片刻你就会在输出区看到拆好的图层预览还能下载到output目录下生成的.psd文件。默认的normal模式会输出三类图层基础层、亮部层、暗部层如果你在layer_mode里切到composite还会额外生成屏幕、正片叠底、减法、加法这些混合模式的图层在后期调色时会非常灵活。整个流程串起来就是这样和官方演示脚本 demo.py 里的逻辑完全一致from ldivider.ld_processor import get_base # loops: 迭代次数init_cluster: 初始聚类数越大分得越细 # ciede_threshold: 颜色相似度阈值blur_size: 边缘平滑强度 df get_base(input_image, loops2, init_cluster15, ciede_threshold8, blur_size5)这段代码就是色彩聚类模式的入口——算法先对像素聚类再按 CIEDE2000 色彩差异公式合并相近颜色最后用模糊平均色重新上色并迭代优化生成基础分层数据。效果到底如何直接看对比空口无凭项目自带的示例图最能说明问题。这是它官方演示用的输入图像一张简单的输入图几个色块叠在一起没有任何图层信息经过 LayerDivider 处理后每个色块都被识别为独立的图层并标注出对应的层级分层输出每个元素都被自动拆解为独立可编辑的图层注意看第二张图里那些 Red LayerBlue Layer 的标注——它们代表着每个色块在 PSD 里对应的独立图层。左边红色方块、右边蓝色方块、下方绿色椭圆和黄色三角形全部被算法自动分离。这就是看得见的价值同一张图从只能整体编辑变成每个部分都可单独编辑。想象一下把这个能力用在你自己的插画或 UI 稿上效率提升是肉眼可见的。你可能想问的几个问题Q1SAM 模型下载很慢或者失败怎么办对象分割模式首次运行时会自动下载sam_vit_h_4b8939.pth模型文件约 2.5GB存放在 segment_model/ 目录。网络条件不好的话会很煎熬建议提前用下载工具把模型放到该目录下。嫌重的话可以先只玩色彩聚类模式它不依赖这个模型。Q2参数那么多我怎么知道调哪个大部分时候用默认值就能出不错的效果。真需要微调时记住三条经验觉得分层太粗就调大init_cluster觉得相近颜色被错误合并了就调低ciede_threshold觉得图层边缘太生硬就调大blur_size。项目 README 里对每个参数都有英文说明配合界面上的滑块多试几次就摸到感觉了。Q3我的电脑没有 NVIDIA 显卡能用吗可以。对象分割模式在 CPU 上也能跑只是慢一些。背景分离模块默认会尝试 CUDA没有就退回 CPU见 ldivider/bg_remover.py。色彩聚类模式则完全不依赖 GPU。Q4生成的 PSD 在 Photoshop 里打不开推荐使用相对新的 Photoshop 版本打开。如果 PSD 结构复杂导致兼容问题可以先试试normal模式输出——它只包含基础、亮部、暗部三层结构兼容性最好。进阶玩法三个提升效率的小技巧批量拆图把接口get_base封装成循环就能对一整个素材文件夹批量生成分层文件。对需要维护大量 UI 组件或游戏素材的团队来说这一步能省下海量时间。背景一键分离调用get_base时启用split_bgTrue算法会自动把前景主体和背景拆开背景处理在 ldivider/bg_remover.py 中实现适合电商产品图这类需要换背景的场景。用 composite 模式做后期如果你经常需要调整明暗关系composite 模式输出的屏幕/正片叠底图层让你在 Photoshop 里像调色师一样精细控制每一层的亮度叠加而不是粗暴地重新上色。这个项目的开源性格LayerDivider 是典型的开源项目——代码全部开放任何有兴趣的人都可以顺着 ldivider/ 目录读源码理解它的聚类、分割与 PSD 组装逻辑甚至提交自己的改进。它现在的路线图很有想象力集成更多神经网络分割算法、做成 Photoshop 插件、支持云端批量处理。对于想学图像算法的人来说这更是一份难得的活教材用不到 300 行代码把图像分层这个看似复杂的问题讲得明明白白。现在就去试试从一张简单的色块图开始跑通第一次分层再逐步换成你自己的作品——你很快就能感受到那种图片变活了的爽快感。动手吧克隆仓库运行安装脚本把第一张图拖进界面点击创建 PSD。图像分层的世界就在你点击的那一瞬间打开。【免费下载链接】layerdividerA tool to divide a single illustration into a layered structure.项目地址: https://gitcode.com/gh_mirrors/la/layerdivider创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考