菜单

图像和遮罩节点

相关源文件

本文档详细介绍了 ComfyUI 中的图像处理、蒙版和合成节点。这些节点允许对图像编辑、蒙版创建和高级合成操作进行精确控制。有关模型加载和采样节点的信息,请参阅核心节点,有关高级模型节点的信息,请参阅高级模型节点

图像和蒙版类型概述

在 ComfyUI 中,图像处理涉及两种主要数据类型:

  1. IMAGE - RGB 或 RGBA 张量,形状为 [batch_size, height, width, channels]
  2. MASK - 单通道张量,形状为 [batch_size, height, width],包含 0.0 到 1.0 的值

来源:comfy_extras/nodes_mask.py96-132 comfy_extras/nodes_compositing.py157-200

图像处理节点

图像合成

ImageCompositeMasked 节点允许将一个图像叠加到另一个图像上,并进行基于蒙版的混合。

来源:comfy_extras/nodes_mask.py73-97

合成功能通过以下步骤处理正确的定位和蒙版

  1. 修复图像之间的 alpha 通道兼容性
  2. 将源图像定位在指定坐标
  3. 应用蒙版(如果提供)以控制混合
  4. 输出合成图像

一个类似的节点LatentCompositeMasked 对潜在表示执行相同的操作。

来源:comfy_extras/nodes_mask.py46-71

图像转换

ComfyUI提供了几个用于修改图像结构的变换节点

ImageCrop 节点

ImageStitch 节点

来源:comfy_extras/nodes_images.py24-44 comfy_extras/nodes_images.py235-411

图像批处理操作

批处理节点允许处理多个图像

节点类功能关键参数
RepeatImageBatch复制批处理中的图像数量 (1-4096)
ImageFromBatch从批处理中提取子集batch_index, length

来源:comfy_extras/nodes_images.py46-78

图像工具

ImageAddNoise 节点 为图像添加随机噪声,用于数据增强或艺术效果

GetImageSize 节点 提取图像的尺寸信息

来源:comfy_extras/nodes_images.py81-96 comfy_extras/nodes_images.py495-524

图像后处理

ComfyUI 包含多个用于图像增强和效果的后处理节点

节点类描述参数
Blend使用各种混合模式混合两个图像blend_factor, blend_mode (normal, multiply, screen, overlay, etc.)
Blur应用高斯模糊blur_radius, sigma
Sharpen锐化图像细节sharpen_radius, sigma, alpha
Quantize减少颜色,可选抖动colors, dither method
ImageScaleToTotalPixels将图像缩放到指定的像素数megapixels, upscale_method

后处理管道

高斯核生成

来源:comfy_extras/nodes_post_processing.py11-273 comfy_extras/nodes_post_processing.py68-72

图像保存和导出

ComfyUI 提供专门的节点来以各种格式保存图像

动画格式支持

SVG 支持

来源:comfy_extras/nodes_images.py98-162 comfy_extras/nodes_images.py164-215 comfy_extras/nodes_images.py414-493

蒙版创建与操作

创建蒙版

可以通过多种方法创建蒙版

蒙版创建节点详情

来源:comfy_extras/nodes_mask.py117-135 comfy_extras/nodes_mask.py137-156 comfy_extras/nodes_mask.py158-177

蒙版预览和调试

MaskPreview 节点提供蒙版调试的可视化。

来源:comfy_extras/nodes_mask.py371-390

蒙版变换

创建后,可以通过多种操作来变换蒙版

节点描述关键参数
InvertMask反转蒙版值 (1.0 - mask)none
CropMask提取蒙版的一部分x, y, width, height
FeatherMask柔化蒙版边缘left, top, right, bottom
GrowMask扩展或收缩蒙版expand, tapered_corners
ThresholdMask创建二值蒙版value

来源:comfy_extras/nodes_mask.py176-363

蒙版合成

可以使用 MaskComposite 节点通过各种操作组合多个蒙版。

来源:comfy_extras/nodes_mask.py219-264

使用 Alpha 通道的进阶合成

Alpha 通道处理

ComfyUI 提供用于处理图像 alpha 通道的节点

  • SplitImageWithAlpha:将图像分离为 RGB 和 alpha 组件
  • JoinImageWithAlpha:将 RGB 图像与 alpha 蒙版组合

来源:comfy_extras/nodes_compositing.py157-200

Porter-Duff 合成

对于进阶合成,PorterDuffImageComposite 节点实现了完整的 Porter-Duff 操作集。

Porter-Duff 模式包括:

  • SRC, DST (仅源/目标)
  • SRC_OVER, DST_OVER (传统 alpha 合成)
  • SRC_IN, DST_IN, SRC_OUT, DST_OUT (蒙版操作)
  • SRC_ATOP, DST_ATOP (atop 操作)
  • XOR (异或混合)
  • ADD, MULTIPLY, SCREEN, etc. (混合模式)

来源: comfy_extras/nodes_compositing.py8-154

实现细节

组合函数

核心的 composite() 函数处理图像的定位和混合,支持蒙版

来源: comfy_extras/nodes_mask.py9-41

图像 Alpha 兼容性

名为 image_alpha_fix() 的辅助函数确保图像之间 Alpha 通道的兼容性

来源: node_helpers.py48-54

使用示例

示例 1:图像蒙版和合成工作流程

典型的蒙版图像合成工作流程可能包括

  1. 加载背景和前景图像
  2. 创建蒙版(通过 ImageToMaskSolidMask 等)
  3. 根据需要处理蒙版(GrowMaskFeatherMask 等)
  4. 使用 ImageCompositeMasked 合成图像

示例 2: Alpha 通道工作流程

处理透明图像

  1. 使用 SplitImageWithAlpha 分离 RGBA 图像
  2. 使用图像节点处理 RGB 部分
  3. 使用蒙版节点处理 Alpha 蒙版
  4. 使用 JoinImageWithAlpha 重新组合
  5. 使用 PorterDuffImageComposite 与另一图像合成

节点参考摘要

类别节点类功能
图像操作ImageCompositeMasked使用蒙版混合叠加图像
ImageBlend使用各种模式混合图像
ImageBlur应用高斯模糊
ImageSharpen增强图像细节
ImageQuantize减少颜色数量
ImageScaleToTotalPixels缩放到特定像素数
蒙版创建ImageToMask从图像通道提取蒙版
ImageColorToMask从特定颜色创建蒙版
SolidMask创建统一值蒙版
MaskToImage将蒙版转换为图像
蒙版操作InvertMask反转蒙版值
CropMask提取蒙版的一部分
MaskComposite使用操作组合蒙版
FeatherMask柔化蒙版边缘
GrowMask扩展或收缩蒙版
ThresholdMask创建二值蒙版
Alpha 通道SplitImageWithAlpha分离 RGB 和 Alpha
JoinImageWithAlpha将 RGB 与 Alpha 蒙版组合
PorterDuffImageComposite高级 Alpha 合成
Latent SpaceLatentCompositeMasked在潜在空间中合成

来源: comfy_extras/nodes_mask.py366-384 comfy_extras/nodes_post_processing.py274-280 comfy_extras/nodes_compositing.py203-214