ComfyUI中IC-Light节点的Detail Transfer节点参数测试

news2024/9/24 17:15:34

🎆背景

ic-light是一个能重绘画面光影的节点,但是在重绘的过程中,难免会将图像本身的细节进行重绘,尤其是在电商的场景中,文字和商品的细节很多时候会被重绘的乱七八糟。

针对这种情况,Comfyui-IC-Light节点得作者新添加了一个node,detail transfer,通过高反差保留得方式来还原画面的细节;

🎇原理及测试

高反差保留的原理,相信大家都明白,如果不明白的话,可以问一下百度,相信有其他热心的小朋友会给大家做科普。

大家如果对代码本身感兴趣,可以翻翻节点中的代码,也就是从这里开始的一段:

这个节点有三个可以修改的参数,分别是:

mode:叠加模式

blur_sigma:高斯模糊的标准差,范围是 0.1~100

blend_factor:混合因子,范围从-10到10,不过最好设定为0~1之间,否则有可能会过曝光。

那每种叠加模式都是什么意思呢?这里结合图片示例和测试解释一下:

接下来用的测试原图:

  1. Add (加法混合):

    • 效果:将源图像和目标图像的像素值相加。
    • 公式:result = source + target
    • 注意:如果相加的结果超过最大值(通常是1或255),可能会发生溢出,导致图像过曝。
    • 左边是通过ic-light直接生成的图像,add之后可以很好的还原图像细节,并且光影与背景光源更好的柔和,但带来的问题是,商品本身会有些变色;
  2. Multiply (乘法混合):

    • 效果:将源图像和目标图像的像素值相乘。
    • 公式:result = source * target
    • 特点:混合模式在暗部区域产生更暗的效果,而在亮部区域增强对比度。
    • 左边ic-light直出,右边是multiply的效果,整体偏灰暗了;(当然这个仅限测试图,其他图片的视觉效果会有不同,更多还是看像素操作的公式,图片仅供参考)
  3. Screen (屏幕混合):

    • 效果:与乘法混合相反,它将图像的补色相乘,然后从1中减去结果。
    • 公式:result = 1 - (1 - source) * (1 - target)
    • 特点:在亮部区域产生更亮的效果,而在暗部区域保持细节。
    • 效果测试,整体变亮了。
  4. Overlay (叠加混合):

    • 效果:结合了乘法和屏幕混合的效果,根据目标图像的亮度来选择使用哪种混合方式。
    • 公式:result = (target < 0.5) ? (2 * source * target) : (1 - 2 * (1 - source) * (1 - target))
    • 特点:当目标图像较暗时,使用乘法混合,当目标图像较亮时,使用屏幕混合。
    • 效果图:这个正常一些,就是跟背景色有点不融合了;
  5. Soft Light (柔光混合):

    • 效果:类似于将源图像以柔光的方式照射到目标图像上。
    • 公式:result = (1 - 2 * target) * source^2 + 2 * target * source
    • 特点:如果源图像较亮,则目标图像变亮;如果源图像较暗,则目标图像变暗。
    • 效果图:粗看的话,跟overlay有点类似,这个也是在还原细节中常用的方案之一。可以适当调整factor,带一点环境色;
  6. Hard Light (强光混合):

    • 效果:类似于叠加混合,但是更加强烈。
    • 公式:result = (source < 0.5) ? (2 * source * target) : (1 - 2 * (1 - source) * (1 - target))
    • 特点:如果源图像较亮,则目标图像变亮;如果源图像较暗,则目标图像变暗,但效果更明显。
  7. Color Dodge (色彩减淡):

    • 效果:通过提高目标图像的亮度来模拟源图像的光照。
    • 公式:result = target / (1 - source)
    • 注意:如果源图像的像素值接近1,可能会导致结果超过最大值。
    • 嗯,一般不用
  8. Color Burn (色彩加深):

    • 效果:通过降低目标图像的亮度来模拟源图像的阴影。
    • 公式:result = 1 - (1 - target) / source
    • 注意:如果源图像的像素值接近0,可能会导致结果低于最小值。
  9. Difference (差异混合):

    • 效果:计算源图像和目标图像的像素值差。
    • 公式:result = abs(target - source)
    • 特点:可以突出两个图像之间的差异。
  10. Exclusion (排除混合):

    • 效果:类似于差异混合,但是效果更加柔和。
    • 公式:result = 0.5 - 2 * (target - 0.5) * (source - 0.5)
    • 特点:混合后的颜色会倾向于中性。
    • 反色咯
  11. Divide (除法混合):

    • 效果:将源图像的像素值除以目标图像的像素值。
    • 公式:result = (source / target) * target
    • 注意:如果目标图像的像素值接近0,可能会导致除以零的错误。

实际使用中,add和overlay,以及soft light都可以尝试下。相对效果还可以。

那么,blue_sigma有什么用?

粗糙的理解,这个值越小,画面中变化越明显的地方,越被保留,而画面中变化相对柔和的地方,就会被抛弃。

结合例子,比如说这个字母边缘是明显的黑色和灰色的对比,就会被保留,但是保留的是这个边缘,而不是整个字母。

像这种字母比较小,边缘也变化锐利,就可以在blue_sigma比较小的情况下保留下来;

所以当设置为1的时候,画面锐利的边缘会保留下来

但是瓶子上半部分的文字,文字内部的细节就保留的比较差了,这个时候我们要适当的提升sigma的值,画面的细节明显回来了很多。

当然了,这个值也不是越高越好,因为太高,会让画面变得模糊。

下边的factor就好理解了,可以简单理解为透明度,1就是100%,0就是0%,比如说设置为50%:

那么,设置超过1会如何呢?画面可能会过曝,因为本身他不是透明度,是一种计算因子【手动狗头】,适当调整一点,或许可以起到一点锐化的效果,这里就留给高级选手自己玩儿了。

好了,记得点赞收藏加关注啊~

✨写在最后

如果对comfyui还不熟悉的话,最近面向ComfyUI的新手,写了一门系统性入门图文课程,现在已经更新完成了,内容主要包括如何下载软件、如何搭建自己的工作流、关键基础节点讲解、遇到报错怎么解决等等,如果大家在学习过程中遇到什么问题,也可以直接对应的文章下留言,会持续更新相关答疑内容哈。欢迎订阅哦~

https://blog.csdn.net/jumengxiaoketang/category_12683612.html

​​​

感谢大家的支持~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2105170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch的Restful风格API

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 1、Restful及JSON格式 RESTFUL是一种网络应用程序的设计风格和开发方式&#xff0c;基于HTTP&#xff0c;可以使用 XML 格式定义或 JSON 格式定义。R…

串行总线舵机

项目需求&#xff1a; 直接旋转&#xff1a;总体旋转角度方向 微调&#xff1a;步进模式/闭环电机模式 需要考虑受力之类的吗 初选方案&#xff1a; 只改写底层&#xff0c;然后引入官方驱动&#xff0c;通过各种函数 5、舵机如何实现在机械臂夹具中使用。 仅限夹取相同物…

开发台球助教小程序前景分析

开发台球助教小程序的前景分析可从以下维度展开探讨&#xff1a; 市场需求的增长 台球作为一项受欢迎的休闲运动&#xff0c;其爱好者群体正在扩大。随着大众对这项运动兴趣的增加&#xff0c;寻求系统化培训的需求也愈发明显。台球助教小程序正好填补了这一市场空白&#xf…

学习大数据DAY49 考后练习题

前几天在考帆软&#xff0c;考完后还有周末大礼包。 Oracle 上机练习 --第一题 create table 客户交易情况 ( 客户号 varchar2(5), 交易时间 varchar2(20),交易金额 number(5) ); --表中内容手动录入 select dense_rank()over(order by ascii(客户号)) as 序号 1,客户号, den…

MySQL插入更新死锁问题解析

文章目录 1 问题背景2 线上问题2.1 线上异常日志2.2 数据准备2.3 问题复现2.3.1 执行流程2.3.2 死锁排查 2.3.3 死锁日志分析2.3.3.1 事务A23087信息2.3.3.2 事务23087持有锁2.3.3.3 事务23087等待锁2.3.3.4 事务23088信息2.3.3.5 事务23088持有锁2.3.3.6 事务23088等待锁 3 分…

python进阶篇-day05-网络编程(TCP)与进程

day05网络编程 一. 网编三要素 ip 概述 设备(电脑, 手机, IPad, 耳机...)在网络中的唯一标识. 分类 按照 代数 划分: IPv4: 4字节, 十进制来表示, 例如: 192.168.13.157 IPv6: 8字节, 十六进制来表示, 理论上来讲, 可以让地球上的每一粒沙子都有自己的IP. Ipv4 常用类别划…

同三维S61-20SDI 20倍 HDMI SDI USB3.0 网口 3高清摄像机

同三维S61-20SDI 高清摄像机 20倍光学变焦&#xff0c; HDMI/SDI/USB3.0/网口&#xff0c;3.5音频口输入&#xff0c;350万像素 索尼机芯&#xff0c;支持POE&#xff0c;NDI HX2/Full NDI&#xff08;可定制&#xff09; 两款&#xff1a; S61-20SDI (不支持NDI) 单价&#…

1分钟 快速掌握 双向信号(inout信号)

​在数字电路设计中&#xff0c;三态门扮演着至关重要的角色。它是Verilog硬件描述语言中的一个基本元素&#xff0c;用于实现复杂电路的设计与模拟。 今天&#xff0c;我们一起来探讨三态门的基本原理、在Verilog中的实现方式。 一、什么是三态门? 三态门&#xff0c;简单…

fpga图像处理实战-边缘检测 (Roberts算子)

Roberts算子 Roberts算子是一种用于边缘检测的算子,主要用于图像处理中检测图像的边缘。它是最早的边缘检测算法之一,以其计算简单、速度快而著称。Roberts算子通过计算图像像素在对角方向的梯度来检测边缘,从而突出图像中灰度变化最剧烈的部分。 原理 Roberts算子通过…

力扣刷题(4)

正则表达式匹配 正则表达式匹配-力扣 思路来源&#xff1a;ithewei 若 *p 为空&#xff0c;*s 为空则匹配&#xff0c;*s 为非空则不匹配&#xff1b;当 *s为非空时&#xff0c;*p *s || *p ‘.’ 时第一个字符匹配&#xff1b;若 *(p1) ! ’ * 时&#xff0c;则递归判断…

python开发VTK入门

首先用pip命令安装VTK的python库&#xff1b; 需要一些时间&#xff0c;安装完成如下&#xff1b; 基本示例代码&#xff0c; import vtkcube vtk.vtkCubeSource() cube.SetXLength(100.0) cube.SetYLength(200.0) cube.SetZLength(300.0)mapper vtk.vtkPolyDataMapper() ma…

25届计算机毕业设计:3步打造北部湾助农平台,Java SpringBoot实践

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

《OpenCV计算机视觉》—— 图像轮廓检测与绘制

文章目录 一、轮廓的检测二、轮廓的绘制图像轮廓检测与绘制的代码实现 三、轮廓的近似 一、轮廓的检测 轮廓检测是指在包含目标和背景的数字图像中&#xff0c;忽略背景和目标内部的纹理以及噪声干扰的影响&#xff0c;采用一定的技术和方法来实现目标轮廓提取的过程注意:做轮…

探索Python中的Ellipsis:不仅仅是三个点

在Python 3.9中&#xff0c;Ellipsis 对象被赋予了一个新名称&#xff0c;即 ...&#xff0c;这使得它更容易输入和使用。这个变化是在Python 3.9版本中引入的&#xff0c;而不是3.1。这个变化的好处包括&#xff1a; 易用性&#xff1a;使用 ... 比输入 Ellipsis 更快&#xf…

第11讲 回环检测

1、理解回环检测的必要性 2、掌握基于词袋的外观式回环检测 3、通过DBoW3的实验&#xff0c;学习词袋模型的实际用途 1、概述 1.1 回环检测的意义 回环检测模块能够给出除了相邻帧的一些是个更加久远的约束。相机经过了同一个地方&#xff0c;采集了相似的数据。回环检测的关…

OpenCV 之图像平滑处理

引言 图像平滑处理&#xff08;也称为“模糊处理”&#xff09;是计算机视觉中一项非常基础的技术&#xff0c;常用于减少图像噪声或失真&#xff0c;提高图像质量。平滑处理可以通过各种滤波器实现&#xff0c;常见的滤波器包括均值滤波、方框滤波、高斯滤波和中值滤波。本文…

【赵渝强老师】大数据生态圈中的组件

大数据体系架构中的组件非常多&#xff0c;每个组件又属于不同的生态圈系统。从最早的Hadoop生态圈体系开始&#xff0c;逐步有了Spark生态圈体系和Flink生态圈体系。因此在学习大数据之前有必要了解一下每一个生态圈体系中具体包含哪些组件&#xff0c;以及它们的作用又是什么…

在移动应用程序中集成模糊方法的基于物联网的天气监测系统的实现

这篇论文的标题是《IMPLEMENTATION OF WEATHER MONITORING SYSTEM BASED INTERNET OF THINGS USING INTEGRATED FUZZY METHOD IN MOBILE APPLICATIONS》&#xff0c;作者是 Muhammad Malik Amin&#xff0c;来自 Politeknik Negeri Jakarta 的 D-IV INSTRUMENTASI DAN KONTROL …

WebAssembly内存结构学习记录

参考&#xff1a; 大文件上传深入研究&#xff1a;https://juejin.cn/post/6870837414852886542 WorkerWasm切片上传&#xff1a;https://juejin.cn/post/7221003401996091429 Wasm实现MD5文件编码&#xff1a;https://juejin.cn/post/7319541565318398003 SharedArrayBuffer与…

Python | 使用Pygments生成漂亮的代码段截图

在创建技术文档或教程时&#xff0c;包含代码段的图像以说明特定的示例或概念可能会有所帮助。但是&#xff0c;对代码文件进行屏幕截图可能看起来不专业&#xff0c;并且难以阅读。本文将探索如何使用库pygments将编程代码转换为Python中美丽的图像片段。 Pygments库 Pygmen…