图片转psd服务,layerdivider

GitHub - mattyamonaca/layerdivider: A tool to divide a single illustration into a layered structure.A tool to divide a single illustration into a layered structure. - mattyamonaca/layerdividerhttps://github.com/mattyamonaca/layerdividerGitHub - jtydhr88/ComfyUI-LayerDivider: ComfyUI LayerDivider is custom nodes that generating layered psd files inside ComfyUIComfyUI LayerDivider is custom nodes that generating layered psd files inside ComfyUI - jtydhr88/ComfyUI-LayerDividerhttps://github.com/jtydhr88/ComfyUI-LayerDivider

在我们前几年做传统的创意生成时,图片转psd是个多么有吸引力的项目啊,当面鹿班还上个这个产品的介绍,后来没做出来撤了,我们当时做图片的分割修复等都希望能划分出图层,从一张图片中获取到图片信息,就可以建设素材库,进一步完善程序化创意,或者作为程序化创意的一个产出。输入psd,可以通过智能解析,将psd整理成可用的图片素材,但输入图片素材,能拿到分层的psd是很困难的。

本来想着这个服务要是没有webui或者comfyui的插件,我就来写一个,可惜,这两处的插件都有了,因此我就不打算再去重写了,意义不大。简单来分析一下,到底是怎么把图片转成psd的,

分层模式,主要有两种分层模式:

  • Color Base - 基于相似颜色进行分层,参数有:
    • loops
    • init_cluster
    • ciede_threshold
    • blur_size
  • Segment Mask - 先通过 SAM - segment anything 进行图片分块识别,生成对应的 mask,然后根据这些 mask 进行分层。
    • Load SAM Mask Generator, 参数有(来自 segment anything,详细信息请 参见 ):
      • pred_iou_thresh
      • stability_score_thresh
      • min_mask_region_area
    • LayerDivider - 参数有:
      • area_th: 决定分区的数量,数值越小分区越多,数值越大分区越少

图层模式,在 Divide Layer 节点中使用,决定图层模式:

  • normal - 为每个区域生成三个图层:
    • base - 基础图层
    • bright - 高光图层专注于图像中最亮的部分,增强这些区域的亮度和光泽
    • shadow - T阴影图层处理的是图像中较暗的部分,强调阴影和暗部的细节
  • composite - 为每个区域生成五个图层:
    • base - 基础图层
    • screen - 滤色图层用于模拟光线的叠加效果。它将图像的颜色值与上方图层的颜色值进行相乘并反转,结果是一个比原始图像更亮的效果
    • multiply - 正片叠底图层用于模拟多个图像的叠加效果。它将图像的颜色值与上方图层的颜色值直接相乘,结果是一个比原始图像更暗的效果
    • subtract - 减去图层用于从基础图像中减去上方图层的颜色值,结果是一个颜色值较低的图像
    • addition - 加法图层用于将基础图像与上方图层的颜色值相加,结果是一个颜色值较高的图像

看这两张图,第一张图是color模式+normal,第二张图是sam模式+composite,也就是说第一种是如何分层,color+sam,第二种图层的模式,分成三层还是五层,第一种color是按照颜色,sam则是分割模型,第二种则是对图层分层的分解。基于颜色进行分割肯定不行的

在作者的代码中,如果是color_base_mode,直接get_base之后就可以normal或者composite模式了,bet_base里面基本上是miniBatchKMeans,如果是segment_mode则需要先sam一下再normal或者composite。

相关推荐
jndingxin12 分钟前
OpenCV 图形API(14)用于执行矩阵(或图像)与一个标量值的逐元素乘法操作函数mulC()
人工智能·opencv
晓13131 小时前
第七章 Python基础进阶-异常、模块与包(其五)
人工智能·python
Swift社区1 小时前
AI+自动化测试:如何让测试编写效率提升10倍?
人工智能
weixin_442424031 小时前
Opencv计算机视觉编程攻略-第九节 描述和匹配兴趣点
人工智能·opencv·计算机视觉
thinkMoreAndDoMore2 小时前
深度学习处理文本(5)
人工智能·python·深度学习
AI_Echoes2 小时前
检索增强生成(RAG) 优化策略篇
人工智能
congregalis2 小时前
跳出框架:一步步实现简易Deep Search Agent
人工智能·程序员·源码
weixin_750335522 小时前
李沐 X 动手学深度学习--第九章 现代循环神经网络
人工智能·rnn·深度学习
摸鱼仙人~2 小时前
深度学习数据集划分比例多少合适
人工智能·深度学习
Blossom.1182 小时前
《探索边缘计算:重塑未来智能物联网的关键技术》
人工智能·深度学习·神经网络·物联网·机器学习·计算机视觉·边缘计算