Files
chflame163-ComfyUI_LayerStyle/README_CN.MD
T
2024-02-26 17:00:50 +08:00

37 KiB
Raw Blame History

ComfyUI Layer Style

一组为ComfyUI设计的节点,可以合成图层达到类似Photoshop的功能。这些节点将PhotoShop的一部分基本功能迁移到ComfyUI,旨在集中工作流程,减少软件切换的频率。

image
*此图工作流(title_example_workflow.json) 在 workflow 目录中.

节点按照功能分为5组:LayerStyle, LayerColor, LayerMask, LayerUtility和LayerFilter。

  • LayerStyle节点组提供仿照Adobe Photoshop的图层样式。
  • LayerColor节点组提供调整颜色功能。
  • LayerMask节点组提供Mask辅助工具。
  • LayerUtility节点组提供图层合成工具和工作流相关的辅助节点。
  • LayerFilter节点组提供图像效果滤镜。

更新说明

**如果本插件更新后出现依赖包错误,请重新安装相关依赖包。详情见这里。

  • 添加 Film 节点, 这个滤镜模拟胶片的颗粒、暗边和边缘模糊,支持输入深度图模拟虚焦,是digitaljohn/comfyui-propost的重新封装。

  • 添加 ImageAutoCrop 节点, 这个节点是为生成训练模型的图片素材而设计的。

  • 添加 ImageScaleByAspectRatio 节点, 可按画幅比例缩放图像。

  • 改正 LUT Apply 节点渲染出现色阶的bug, 并增加log色彩空间支持。*log色彩空间图片请加载专门的log lut。

  • 添加CreateGradientMask 节点。添加 LayerImageTransform 和 LayerMaskTransform 节点。

  • 添加MaskEdgeUltraDetail 节点,给粗糙的遮罩进行处理获得超精细的边缘。添加 Exposure 节点,调整图像曝光。

  • 添加Sharp & Soft 节点,可提升或抹平图像细节。新增MaskByDifferent节点,比较两张图片并输出Mask。新增SegmentAnythingUltra节点,提升遮罩边缘质量。*如果没有安装SegmentAnything, 需要手动下载模型。

  • 所有节点已全面支持批量图片,为创作视频提供方便。( CropByMask 节点仅支持相同尺寸的切除, 如果输入批量mask_for_crop,将使用第一张的数据。)

  • 添加RemBgUltra 和 PixelSpread 节点,显著提升了遮罩质量。*RemBgUltra需手动下载模型。

  • 添加TextImage 节点,生成文字图像和遮罩。

  • 图像之间的混合模式增加新类型,现在支持多达19种混合模式。新增color_burn颜色加深, color_dodge颜色减淡, linear_burn线性加深, linear_dodge线性减淡, overlay叠加, soft_light柔光, hard_light强光, vivid_light亮光, pin_light点光, linear_light线性光, hard_mix实色混合。新增的混合模式适用于所有支持混合模式的节点。

  • 添加ColorMap 滤镜节点,用于制作伪彩色热力图效果。

  • 添加WaterColor 和 SkinBeauty 节点。这是两个图像滤镜,生成水彩画和磨皮效果。

  • 添加ImageShift 节点,使图片产生位移,可输出位移接缝遮罩,方便制作连续贴图。

  • 添加ImageMaskScaleAs 节点,可根据参考图片调整图像或遮罩大小。

  • 添加ImageScaleRestore 节点,用于配合CropByMask进行局部放大修复工作。

  • 添加CropByMask 和 RestoreCropBox节点。此二者配合可将图片局部裁切重绘然后还原。

  • 添加ColorAdapter 节点,可自动调整图片色调。

  • 添加MaskStroke 节点,可产生mask描边。

  • 添加LayerColor节点组,用于调整图像颜色。包括LUT Apply,Gamma, Brightness & Contrast, RGB, YUV, LAB和HSV。

  • 添加ImageChannelSplit和ImageChannelMerge节点。

  • 添加MaskMotionBlur节点。

  • 添加SoftLight节点。

  • 添加ChannelShake节点,这是一个滤镜,能产生类似抖音logo的通道错位效果。

  • 添加MaskGradient节点,可使mask产生渐变。

  • 添加GetColorTone节点,可以获取图片的主色或平均色。添加MaskGrow和MaskEdgeShrink节点。

  • 添加MaskBoxDetect节点,可以通过mask自动探测位置并输出到合成节点。添加XY to Percent节点,将绝对坐标转换为percent坐标。添加GaussianBlur节点。添加GetImageSize节点。

  • 添加ExtendCanvas节点。

  • 添加ImageBlendAdvance节点。这个节点允许合成尺寸不同的背景图和图层,提供了更加自由的合成体验。 添加PrintInfo节点作为工作流调试辅助工具。

  • 添加ColorImage和GradientImage节点,用于生成纯色和渐变色图像。

  • 添加GradientOverlay,ColorOverlay节点。增加无效mask输入判断,当输入无效mask时将其忽略。

  • 添加InnerGlow, InnerShadow, MotionBlur节点。

  • 所有已完成的节点重新命名,节点分为4组:LayerStyle, LayerMask, LayerUtility, LayerFilter。 因为重新命名,包含旧版节点的工作流需手动替换新版节点。

  • OuterGlow节点修改,增加亮度、灯光颜色、辉光颜色选项。

  • 添加MaskInvert节点。

  • 添加Stroke节点。

  • 添加MaskPreview节点。

  • 添加ImageOpacity节点。

  • layer_mask修改为非必选, 默认使用layer_image的alpha通道,允许通过输入mask改变之,但是尺寸必须一致。

  • 添加ImageBlend节点。

  • 添加OuterGlow节点。

  • 首个节点DropShadow提交。

LayerStyle

image image

DropShadow

生成阴影。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,阴影按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 阴影的混合模式。
  • opacity: 阴影的不透明度。
  • distance_x: 阴影的水平方向偏移量。
  • distance_y: 阴影的垂直方向偏移量。
  • grow: 阴影扩张幅度。
  • blur:阴影模糊程度。
  • shadow_color4: 阴影颜色。
  • 节点注解

OuterGlow

生成外发光。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,外发光按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 发光的混合模式。
  • opacity: 发光的不透明度。
  • brightness: 发光亮度。
  • glow_range: 发光范围。
  • blur:发光模糊程度。
  • light_color4: 发光中心颜色。
  • glow_colo4: 辉光外围颜色。
  • 节点注解

InnerShadow

生成内阴影。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,阴影按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 阴影的混合模式。
  • opacity: 阴影的不透明度。
  • distance_x: 阴影的水平方向偏移量。
  • distance_y: 阴影的垂直方向偏移量。
  • grow: 阴影扩张幅度。
  • blur:阴影模糊程度。
  • shadow_color4: 阴影颜色。
  • 节点注解

InnerGlow

生成内发光。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,发光按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 发光的混合模式。
  • opacity: 发光的不透明度。
  • brightness: 发光亮度。
  • glow_range: 发光范围。
  • blur:发光模糊程度。
  • light_color4: 发光中心颜色。
  • glow_colo4: 辉光外围颜色。
  • 节点注解

Stroke

生成描边。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,描边按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 描边的混合模式。
  • opacity: 不透明度。
  • stroke_grow: 描边扩张/收缩幅度,正值是扩张,负值是收缩。
  • stroke_width: 描边宽度。
  • blur: 描边模糊。
  • stroke_color4: 描边颜色。
  • 节点注解

GradientOverlay

渐变覆盖 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 描边的混合模式。
  • opacity: 不透明度。
  • start_color: 渐变开始端的颜色。
  • start_alpha: 渐变开始端的透明度。
  • end_color: 渐变结束端的颜色。
  • end_alpha: 渐变结束端的透明度。
  • angle: 渐变旋转角度。
  • 节点注解

ColorOverlay

颜色覆盖 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 描边的混合模式。
  • opacity: 不透明度。
  • color: 覆盖的颜色。
  • 节点注解

LayerColor

image image

LUT Apply

将LUT应用到图像。仅支持.cube格式的LUT文件。 image

节点选项说明:
image

  • LUT*: 这里列出了LUT文件夹中可用的.cube文件列表,选中的LUT文件将被应用到图像。
  • color_space: 普通图片请选择linear, log色彩空间的图片请选择log。

*LUT文件夹在resource_dir.ini中定义,这个文件位于插件根目录下。用文本编辑软件打开,找到“LUT_dir=”开头的这一行,编辑“=”之后为自定义文件夹路径名。这个文件夹里面所有的.cube文件将在ComfyUI初始化时被收集并显示在节点的列表中。如果ini中设定的文件夹无效,将启用插件自带的LUT文件夹。

ColorAdapter

自动调整图片色调,使之与参考图片相似。 image

节点选项说明:
image

  • opacity: 图像调整色调之后的不透明度。

Exposure

改变图像的曝光。 image

节点选项说明:

  • exposure: 曝光值。更高的数值表示更亮的曝光。

Gamma

改变图像的Gamma值。

节点选项说明:
image

  • gamma: 图像的Gamma值。

Brightness & Contrast

改变图像的亮度、对比度和饱和度。

节点选项说明:
image

  • brightness: 图像的亮度。
  • contrast: 图像的对比度。
  • saturation: 图像的色彩饱和度。

RGB

对图像的RGB各通道进行调整。

节点选项说明:
image

  • R: 图像的R通道。
  • G: 图像的G通道。
  • B: 图像的B通道。

YUV

对图像的YUV各通道进行调整。

节点选项说明:
image

  • Y: 图像的Y通道。
  • U: 图像的U通道。
  • V: 图像的V通道。

LAB

对图像的LAB各通道进行调整。

节点选项说明:
image

  • L: 图像的L通道。
  • A: 图像的A通道。
  • B: 图像的B通道。

HSV

对图像的HSV各通道进行调整。

节点选项说明:
image

  • H: 图像的H通道。
  • S: 图像的S通道。
  • V: 图像的V通道。

LayerUtility

image

ImageBlendAdvance

用于合成图层,允许在背景图片上合成与之不同尺寸的图层图片,并且设置位置和变换。提供多种混合模式供选择,可设置透明度。

节点提供了图层变换方法和抗锯齿选项。有助于提高合成画质。

节点提供了mask输出可用于后续工作流。 image

节点选项说明:
image

  • background_image: 背景图像。
  • layer_image5: 用于合成的层图像。
  • layer_mask2,5: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 图层混合模式。
  • opacity: 不透明度。
  • x_percent: 图层在背景图上的水平位置,用百分比表示,最左侧是0,最右侧是100,可以是小于0或者超过100,那表示图层有部分内容在画面之外。
  • y_percent: 图层在背景图上的垂直位置,用百分比表示,最上侧是0,最下侧是100。例如设置为50表示垂直居中,20是偏上,80则是偏下。
  • mirror: 镜像翻转。提供2种翻转模式, 水平翻转和垂直翻转。
  • scale: 图层放大倍数,1.0 表示原大。
  • aspect_ratio: 图层长宽比。1.0 是原始比例,大于此值表示拉长,小于此值表示压扁。
  • rotate: 图层旋转度数。
  • transform_method: 用于图层放大和旋转的采样方法,包括lanczos、bicubic、hamming、bilinear、box和nearest。不同的采样方法会影响合成的画质和画面处理时间。
  • anti_aliasing: 抗锯齿,范围从0-16,数值越大,锯齿越不明显。过高的数值将显著降低节点的处理速度。
  • 节点注解

CropByMask

将图片按照mask范围裁切,可设置四周边框保留大小。这个节点与RestoreCropBox和ImageScaleRestore配合使用,可以对图片的局部进行裁切,放大修改后贴回原处。 image

节点选项说明:
image

  • image5: 输入的图像。
  • mask_for_crop5: image的遮罩,将自动按照遮罩范围进行裁切。
  • invert_mask: 是否反转遮罩。
  • detect: 探测方法,min_bounding_rect是最小外接矩形, max_inscribed_rect是最大内接矩形。
  • top_reserve: 裁切顶端保留大小。
  • bottom_reserve: 裁切底部保留大小。
  • left_reserve: 裁切左侧保留大小。
  • right_reserve: 裁切右侧保留大小。
  • 节点注解

输出:

  • croped_image: 裁切后的图片。
  • croped_mask: 裁切后的遮罩。
  • crop_box: 裁切box数据,在RestoreCropBox节点恢复时使用。
  • box_preview: 裁切位置预览图,红色是探测到的范围,绿色是加上保留边框后裁切的范围。

RestoreCropBox

将被CropByMask裁切后的图片恢复到原图。

节点选项说明:
image

  • background_image: 裁切前的原图。
  • croped_image5: 裁切后的图片。如果中间经过放大处理,恢复前需将尺寸还原。
  • croped_mask2,5: 裁切后的遮罩。
  • crop_box: 裁切时的box数据。
  • invert_mask: 是否反转遮罩。
  • 节点注解

ImageScaleRestore

图像缩放。此节点成对使用时,在第二个节点可自动还原图像到原始大小。 image

节点选项说明:
image

  • image5: 输入的图像。
  • mask2,5: 图像的遮罩。
  • original_size: 可选输入,用于恢复图片到原始大小。
  • scale: 缩放比例。当有original_size输入,或者scale_by_longest_side设置为True时,此项设置将被忽略。
  • scale_by_longest_side: 允许按长边尺寸缩放。
  • longest_side: scale_by_longest_side被设置为True时,此项将作为是图像长边的长度。当有original_size输入时,此项设置将被忽略。
  • 节点注解

输出:

  • image: 缩放后的图像。
  • mask: 如果有mask输入,将输出缩放后的mask。
  • original_size: 图像的原始大小数据,用于后续节点进行恢复。

ImageMaskScaleAs

将图像或遮罩缩放到参考图像(或遮罩)的大小。 image

节点选项说明:
image

  • scale_as*: 参考大小。可以是图像image,也可以是遮罩mask。
  • image: 待缩放的图像。此选项为可选输入,如果没有输入将输出纯黑图片。
  • mask: 待缩放的遮罩。此选项为可选输入,如果没有输入将输出纯黑遮罩。
  • fit: 缩放画幅宽高比模式。当原图与缩放尺寸画幅宽高比例不一致时,有3种模式可以选择, letterbox模式保留完整的画幅,空白处用黑色补足;crop模式保留完整的短边,长边超出部分将被切除;fill模式不保持画幅比例,宽高各自填满画面。
  • method: 缩放的采样方法,包括lanczos、bicubic、hamming、bilinear、box和nearest。

*仅限输入image和mask, 如果强制接入其他类型输入,将导致节点错误。

输出:

  • image: 如果有image输入,将输出缩放后的图像。
  • mask: 如果有mask输入,将输出缩放后的遮罩。
  • original_size: 图像的原始大小数据,用于后续节点进行恢复。

ImageScaleByAspectRatio

将图像或遮罩按宽高比缩放。可设置将缩放后的尺寸按8或者16的倍数取整,可按长边尺寸缩放。 image

节点选项说明:
image

  • aspect_ratio: 宽高比。此处提供了几个常见画幅比例。也可选"original"保持原图比例或者"custom"自定义比例。
  • proportional_width: 比例宽。如果aspect_ratio选项不是"custom",此处设置将被忽略。
  • proportional_height: 比例高。如果aspect_ratio选项不是"custom",此处设置将被忽略。
  • fit: 缩放画幅宽高比模式。有3种模式可以选择, letterbox模式保留完整的画幅,空白处用黑色补足;crop模式保留完整的短边,长边超出部分将被切除;fill模式不保持画幅比例,宽高各自填满画面。
  • method: 缩放的采样方法,包括lanczos、bicubic、hamming、bilinear、box和nearest。
  • round_to_multiple: 倍数取整。例如设置为8,宽和高将强制设置为8的倍数。
  • scale_by_longest_side: 允许按长边尺寸缩放。
  • longest_side: scale_by_longest_side被设置为True时,此项将作为是图像长边的长度。

输出:

  • image: 如果有image输入,将输出缩放后的图像。
  • mask: 如果有mask输入,将输出缩放后的遮罩。
  • original_size: 图像的原始大小数据,用于后续节点进行恢复。

ImageShift

使图片产生位移。此节点支持位移接缝遮罩的输出,方便制作连续贴图。 image

节点选项说明:
image

  • image5: 输入的图像。
  • mask2,5: 图像的遮罩。
  • shift_x: 位移的横向距离。
  • shift_y: 位移的纵向距离。
  • cyclic: 位移出界的部分是否循环。
  • background_color: 背景颜色。如果cyclic设置为False,将使用这里的设置作为背景颜色。
  • border_mask_width: 接缝遮罩宽度。
  • border_mask_blur: 接缝遮罩模糊。
  • 节点注解

ImageBlend

一个用于合成图层的简单节点,提供多种混合模式供选择,可设置透明度。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 图层混合模式。
  • opacity: 不透明度。
  • 节点注解

ImageOpacity

调整图像不透明度。 image

节点选项说明:

  • image5: 图像输入,支持RGB和RGBA输入。
  • mask2,5: 遮罩输入。
  • invert_mask: 是否反转遮罩。
  • opacity: 不透明度。
  • 节点注解

ColorPicker

在色板上选取颜色并输出。 改自mtb nodes的web extensions。 image

节点选项说明:

  • mode: 输出格式,可选十六进制(HEX)或十进制(DEC)。

输出:

  • value: 字符串格式。

GetColorTone

从图片中获取主颜色或平均色。 image

节点选项说明: image

  • mode: 模式,有两种可选择,主颜色main_color和平均色average。

输出:

  • RGB color in HEX: 使用16进制RGB字符串格式描述,例如 '#FA3D86'。
  • HSV color in list: HSV颜色值,使用list格式描述。

ExtendCanvas

扩展画布。 image

节点选项说明: image

  • invert_mask: 是否反转遮罩。
  • top: 顶部扩展值。
  • bottom: 底部扩展值。
  • left: 左侧扩展值。
  • right: 右侧扩展值。
  • color; 画布颜色

XY to Percent

image 将绝对坐标转换为百分比坐标。

image 节点选项说明:

  • x: 坐标x值。
  • y: 坐标y值。

LayerImageTransform

image 这个节点用于单独对layer_image进行变换,可改变大小,旋转,改变长宽比以及镜像翻转。

image 节点选项说明:

  • x: 坐标x值。
  • y: 坐标y值。
  • mirror: 镜像翻转。提供2种翻转模式, 水平翻转和垂直翻转。
  • scale: 图层放大倍数,1.0 表示原大。
  • aspect_ratio: 图层长宽比。1.0 是原始比例,大于此值表示拉长,小于此值表示压扁。
  • rotate: 图层旋转度数。
  • transform_method: 用于图层放大和旋转的采样方法,包括lanczos、bicubic、hamming、bilinear、box和nearest。不同的采样方法会影响合成的画质和画面处理时间。
  • anti_aliasing: 抗锯齿,范围从0-16,数值越大,锯齿越不明显。过高的数值将显著降低节点的处理速度。

LayerMaskTransform

与LayerImageTransform类似,这个节点用于单独对layer_mask进行变换,可改变大小,旋转,改变长宽比以及镜像翻转。

image 节点选项说明:

  • x: 坐标x值。
  • y: 坐标y值。
  • mirror: 镜像翻转。提供2种翻转模式, 水平翻转和垂直翻转。
  • scale: 图层放大倍数,1.0 表示原大。
  • aspect_ratio: 图层长宽比。1.0 是原始比例,大于此值表示拉长,小于此值表示压扁。
  • rotate: 图层旋转度数。
  • transform_method: 用于图层放大和旋转的采样方法,包括lanczos、bicubic、hamming、bilinear、box和nearest。不同的采样方法会影响合成的画质和画面处理时间。
  • anti_aliasing: 抗锯齿,范围从0-16,数值越大,锯齿越不明显。过高的数值将显著降低节点的处理速度。

ColorImage

image 生成一张指定颜色和大小的图片。

image 节点选项说明:

  • width: 图像宽度。
  • height: 图像高度。
  • color4: 颜色。

GradientImage

image 生成一张指定大小和指定颜色渐变的图片。

image 节点选项说明:

  • width: 图像宽度。
  • height: 图像高度。
  • angle: 渐变角度。
  • start_color4: 开始端颜色。
  • end_color4: 结束端颜色。

TextImage

image 从文字生成图片以及遮罩。支持字间距行间距调整,横排竖排调整,可设置文字的随机变化,包括大小和位置的随机变化。

image 节点选项说明:

  • size_as*: 此处输入图像或遮罩,将按照其尺寸生成输出图像和遮罩。注意,此输入优先级高于下面的width和height。
  • font_file**: 这里列出了font文件夹中可用的字体文件列表,选中的字体文件将被用来生成图像。
  • spacing: 字间距,以像素为单位。
  • leading: 行间距,以像素为单位。
  • horizontal_border: 侧边边距。此处数值表示的是百分比,例如50表示起点位于两侧的正中央。如果文字是横排,是左侧边距,竖排则是右侧边距。
  • vertical_border: 顶部边距。此处数值表示的是百分比,例如10表示起点位于距顶部10%的位置。
  • scale: 文字总体大小。文字的初始大小是根据画面尺寸和文字内容自动计算,默认以最长的行或者列适配画面宽或者高。调整此处数值将整体放大和缩小文字。此处数值表示的是百分比,例如60表示缩放到60%。
  • variation_range: 字符随机变化范围。此数值大于0时,字符将产生大小和位置的随机变化,数值越大,变化幅度越大。
  • variation_seed: 随机变化的种子。固定此数值,每次产生的单个文字的变化不会改变。
  • layout: 文字排版。有横排和竖排可选择。
  • width: 画面的宽度。如果有size_as输入,此设置将被忽略。
  • height: 画面的高度。如果有size_as输入,此设置将被忽略。
  • text_color: 文字颜色。
  • background_color: 背景颜色。

*仅限输入image和mask, 如果强制接入其他类型输入,将导致节点错误。

**font文件夹在resource_dir.ini中定义,这个文件位于插件根目录下。用文本编辑软件打开,找到“FONT_dir=”开头的这一行,编辑“=”之后为自定义文件夹路径名。这个文件夹里面所有的.ttf和.otf文件将在ComfyUI初始化时被收集并显示在节点的列表中。如果ini中设定的文件夹无效,将启用插件自带的font文件夹。

ImageChannelSplit

image 将图像通道拆分为单独的图片。

节点选项说明: image

  • mode: 通道模式。包含RGBA, YCbCr, LAB和HSV。

ImageChannelMerge

image 将各通道合并为一张图片。

节点选项说明: image

  • mode: 通道模式。包含RGBA, YCbCr, LAB和HSV。

ImageAutoCrop

image 自动抠图并按照遮罩裁切图片。可指定生成图片的背景颜色、长宽比和大小。这个节点是为生成训练模型的图片素材而设计的。
*请参照 SegmentAnythingUltra 和 RemBgUltra 节点的模型安装方法安装模型。

节点选项说明: image

  • background_color4: 背景颜色。
  • aspect_ratio: 输出的宽高比。这里提供了常见的画幅比例, "custom"为自定义比例。
  • proportional_width: 比例宽。如果aspect_ratio选项不是"custom",此处设置将被忽略。
  • proportional_height: 比例高。如果aspect_ratio选项不是"custom",此处设置将被忽略。
  • scale_by_longest_side: 允许按长边尺寸缩放。
  • longest_side: scale_by_longest_side被设置为True时,此项将作为是图像长边的长度。
  • detect: 探测方法,min_bounding_rect是最小外接矩形, max_inscribed_rect是最大内接矩形。
  • border_reserve: 保留边框。在探测到的遮罩主体区域之外扩展裁切范围。
  • ultra_detail_range: 遮罩边缘超精细处理范围,0为不处理,可以节省生成时间。
  • matting_method: 生成遮罩的方法。有Segment Anything和 RMBG 1.4两种方法。RMBG 1.4运行速度更快。
  • sam_model: 此处选择Segment Anything所使用的sam模型。
  • grounding_dino_model: 此处选择Segment Anything所使用的grounding_dino模型。
  • sam_threshold: Segment Anything的阈值。
  • sam_prompt: Segment Anything的提示词。

输出: cropped_image: 裁切并更换背景后的图像。 box_preview: 裁切位置预览。 cropped_mask: 裁切后的遮罩。

GetImageSize

image 获取图片的宽度和高度。

输出:

  • width: 图像宽度。
  • height: 图像高度。
  • original_size: 图像的原始大小数据,用于后续节点进行恢复。

PrintInfo

image 用于给工作流调试提供辅助。当运行时,任何接上这个节点的对象的属性将被打印到控制台。

这个节点允许任意类型的输入。

LayerMask

image

MaskBoxDetect

探测mask所在区域,并输出位置和大小。 image

节点选项说明:
image

  • detect: 探测方法,min_bounding_rect是最小外接矩形, max_inscribed_rect是最大内接矩形。
  • x_adjust: 修正探测之后的水平偏移。
  • y_adjust: 修正探测之后的垂直偏移。
  • scale_adjust: 修正探测之后的缩放偏移。

输出:

  • box_preview: 探测结果预览图。红色表示探测到的结果,绿色表示加上修正后的输出结果。
  • x_percent: 水平位置以百分比输出。
  • y_percent: 垂直位置以百分比输出。
  • width: 宽度输出。
  • height: 高度输出。
  • x: 左上角位置x坐标输出。
  • y: 左上角位置y坐标输出。

SegmentAnythingUltra

对ComfyUI Segment Anything的改进,结合了spacepxl的ComfyUI-Image-Filters的Alpha Matte节点,使遮罩有更具细节的边缘。

*请参照ComfyUI Segment Anything的安装方法安装模型。如果已经正确安装了ComfyUI Segment Anything,可跳过此步骤。

image image

节点选项说明:
image

  • sam_model: 选择SAM模型。
  • ground_dino_model: 选择Grounding DINO模型。
  • threshold: SAM阈值。
  • detail_range: 边缘细节范围。
  • black_point: 边缘黑色采样阈值。
  • white_point: 边缘黑色采样阈值。
  • process_detail: 此处设为False将跳过边缘处理以节省运行时间。
  • prompt: SAM的prompt输入。

RemBgUltra

去除背景。与类似的背景移除节点相比,这个节点具有超高的边缘细节。 本节点结合了spacepxl的ComfyUI-Image-Filters的Alpha Matte节点,以及ZHO-ZHO-ZHO的ComfyUI-BRIA_AI-RMBG的功能。

*将BRIA Background Removal v1.4模型文件(model.pth)下载至/ComfyUI/models/rmbg/RMBG-1.4文件夹。该模型由 BRIA AI 开发,可作为非商业用途的开源模型。

**下载模型后,建议在ComfyUI/extra_model_paths.yaml中添加一行'rmbg: models/rmbg/RMBG-1.4'。(此步骤非必须)

image

节点选项说明:
image

  • detail_range: 边缘细节范围。
  • black_point: 边缘黑色采样阈值。
  • white_point: 边缘黑色采样阈值。
  • process_detail: 此处设为False将跳过边缘处理以节省运行时间。

PixelSpread

对图像的遮罩边缘部分进行像素扩张预处理,可有效改善图像合成的边缘。 image

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • mask_grow: 遮罩扩张幅度。

MaskByDifferent

计算两张图像不同之处,并输出为遮罩。 image

节点选项说明:
image

  • gain: 计算增益。调高此值,微弱的差异将更显著的呈现。
  • fix_gap: 修补遮罩内部缝隙。更高的值将修补更大的缝隙。
  • fix_threshold: 修补阈值。
  • main_subject_detect: 此项设为True将开启主体侦测,忽略主体之外的差异。

MaskEdgeUltraDetail

处理较粗糙的遮罩使其获得超精细边缘。 本节点结合了spacepxl的ComfyUI-Image-Filters的Alpha Matte和Guided Filter Alpha两者功能。 image

节点选项说明:
image

  • method: 提供PyMatting和OpenCV-GuidedFilter两种方法处理边缘。PyMatting处理速度较慢,但是对于视频,建议使用这种方法获得更平滑的遮罩序列。
  • mask_grow: 遮罩扩张幅度。正值是向外扩张,负值是向内收缩。对于较粗糙的遮罩,通常使用负值使其边缘收缩以获得更好的效果。
  • fix_gap: 修补遮罩中的空隙。如果遮罩中有比较明显的空隙,适当调高此数值。
  • fix_threshold: 修补遮罩的阈值。
  • detail_range: 边缘细节范围。
  • black_point: 边缘黑色采样阈值。
  • white_point: 边缘黑色采样阈值。

MaskGrow

对mask进行扩张收缩边缘和模糊处理 image

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • grow: 扩张幅度。正值是向外扩张,负值是向内收缩。
  • blur: 模糊。

MaskEdgeShrink

使mask边缘平滑地过渡收缩,并保留边缘细节。 image

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • shrink_level: 收缩平滑级别。
  • soft: 平滑幅度。
  • edge_shrink: 边缘收缩幅度。
  • edge_reserve: 保留边缘细节幅度, 100为完全保留,0为完全不保留。

MaskGrow与MaskEdgeShrink效果对比 image

MaskMotionBlur

使mask产生运动模糊。 image

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • blur: 模糊大小。
  • angle: 模糊角度。

MaskGradient

使mask从一侧产生渐变。请注意此节点与CreateGradientMask的区别。 image

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • gradient_side: 从哪个边产生渐变。有四个方向:顶侧top、底侧bottom、左侧left、右侧right。
  • gradient_scale: 渐变距离。默认值100表示渐变产生一侧完全透明,另一侧完全不透明。数值越小,从透明到不透明的距离越短。
  • gradient_offset: 渐变位置偏移。
  • opacity: 渐变的不透明度。

CreateGradientMask

创建一个渐变的遮罩。请注意此节点与MaskGradient的区别。 image

节点选项说明:
image

  • size_as*: 此处输入图像或遮罩,将按照其尺寸生成输出图像和遮罩。注意,此输入优先级高于下面的width和height。
  • width: 画面的宽度。如果有size_as输入,此设置将被忽略。
  • height: 画面的高度。如果有size_as输入,此设置将被忽略。
  • gradient_side: 从哪个边产生渐变。有四个方向:顶侧top、底侧bottom、左侧left、右侧right。
  • gradient_scale: 渐变距离。默认值100表示渐变产生一侧完全透明,另一侧完全不透明。数值越小,从透明到不透明的距离越短。
  • gradient_offset: 渐变位置偏移。
  • opacity: 渐变的不透明度。

*仅限输入image和mask, 如果强制接入其他类型输入,将导致节点错误。

MaskStroke

产生mask轮廓描边。 image

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • stroke_grow: 描边扩张/收缩幅度,正值是扩张,负值是收缩。
  • stroke_width: 描边宽度。
  • blur: 描边模糊。

MaskPreview

预览mask image

MaskInvert

mask反转 image

LayerFilter

image

Sharp & Soft

为图像增强细节或抹平细节。 image

节点选项说明: image

  • enhance: 提供四个预设档位,分别是very sharp、sharp、soft和very soft。

SkinBeauty

磨皮效果。 image

节点选项说明: image

  • smooth: 皮肤平滑度。
  • threshold: 磨皮范围。数值越小范围越大。
  • opacity: 磨皮的不透明度。

WaterColor

水彩画效果。 image

节点选项说明: image

  • line_density: 线条密度。
  • opacity: 水彩效果的不透明度。

SoftLight

柔光效果。 image

节点选项说明: image

  • soft: 柔光大小。
  • threshold: 柔光范围。柔光从画面最明亮的部分呈现。数值越低范围越大,越高范围越小。
  • opacity: 柔光的不透明度。

ChannelShake

通道错位。类似抖音logo的效果。 image

节点选项说明: image

  • distance: 通道分离的距离。
  • angle: 通道分离的角度。
  • mode: 通道错位排列顺序。

Film

模拟胶片的颗粒、暗边和边缘模糊,支持输入深度图模拟虚焦。
这个节点是digitaljohn/comfyui-propost的重新封装。 image

节点选项说明: image

  • image: 输入的图片。
  • depth_map: 深度图输入,由此模拟虚焦效果。此项是可选输入,如果没有输入则模拟为图片边缘的径向模糊。
  • center_x: 暗边和径向模糊的中心点位置横坐标,0表示最左侧,1表示最右侧,0.5表示在中心。
  • center_y: 暗边和径向模糊的中心点位置纵坐标,0表示最上方,1表示最下方,0.5表示在中心。
  • saturation: 颜色饱和度,1为原始值。
  • grain_power: 噪点强度。数值越大,噪点越明显。
  • grain_scale: 噪点颗粒大小。数值越大,颗粒越大。
  • grain_sat: 噪点的色彩饱和度。0表示黑白噪点,数值越大,彩色越明显。
  • grain_shadows: 暗部噪点强度。
  • grain_highs: 亮部噪点强度。
  • blur_strength: 模糊强度。数值越大越模糊。
  • blur_focus_spread: 焦点扩散范围。数值越大,清晰的范围越大。
  • focal_depth: 模拟虚焦的焦点距离。0表示焦点在最远,1表示焦点在最近。此项设置只在depth_map有输入时才生效。

ColorMap

伪彩色热力图效果。 image

节点选项说明: image

  • color_map: 效果类型。共22种,各种类型的效果如上图所示。
  • opacity: 伪彩色效果的不透明度。

MotionBlur

运动模糊。 image

节点选项说明:

  • angle: 模糊角度。
  • blur: 模糊大小。

GaussianBlur

高斯模糊。 image

节点选项说明:

  • blur: 模糊大小。

节点注解

1 image、mask和background_image(如果有输入)这三项必须是相同的尺寸。 2 mask不是必须的输入项,默认使用image的alpha通道,如果image输入不包含alpha通道将自动创建整个图像的alpha通道。如果输入mask,原本的alpha通道将被mask覆盖。 3 混合模式包括normal、multply、screen、add、subtract、difference、darker、lighter、color_burn、color_dodge、linear_burn、linear_dodge、overlay、soft_light、hard_light、vivid_light、pin_light、linear_light、hard_mix, 共19种混合模式

image *混合模式预览

4 颜色使用16进制RGB字符串格式描述,例如 '#FA3D86'。 5 image和mask这两项必须是相同的尺寸。

使用示例

在workflow目录下有json格式的工作流示例文件。

安装方法

  • 推荐使用 ComfyUI Manager 安装。

  • 或者在CompyUI插件目录(例如“CompyUI\custom_nodes\”)中打开cmd窗口,键入git clone https://github.com/chflame163/ComfyUI_LayerStyle.git安装。或者下载解压zip文件,将得到的文件夹复制到 ComfyUI\custom_nodes\

    安装依赖包,在资源管理器ComfyUI\custom_nodes\ComfyUI_LayerStyle 插件目录位置打开cmd窗口,输入以下命令:

    ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt

    重新打开ComfyUI。