ComfyI2I 插件完全教程 - 从零开始的图像处理神器
插件简介
插件地址: https://github.com/ManglerFTW/ComfyI2I
ComfyI2I 是一个专门为 ComfyUI 设计的图像处理插件包,就像给你的 ComfyUI 装上了一套专业的图像编辑工具。这个插件主要能帮你做这些事情:
- 颜色转移 - 把一张图片的颜色风格"搬"到另一张图片上,就像给照片换了个滤镜
- 智能蒙版处理 - 可以用文字描述来创建蒙版,比如说"天空"就能自动选中天空部分
- 图像分割修复 - 把图片切成小块分别处理,然后再拼回去,特别适合修复大图
- ComfyShop 画图工具 - 一个内置的画图软件,可以直接在图片上涂涂画画
总节点数量: 本插件包含 5个节点(4个Python节点 + 1个前端JavaScript工具)
如何安装
方法一:使用 Git 克隆(推荐)
- 打开命令行,进入你的 ComfyUI 安装目录
- 进入
custom_nodes文件夹 - 运行命令:
git clone https://github.com/ManglerFTW/ComfyI2I/ - 进入新创建的
ComfyI2I文件夹 - 运行命令:
pip install -r requirements.txt - 重启 ComfyUI
方法二:手动下载
- 从 GitHub 下载插件压缩包
- 解压到
ComfyUI/custom_nodes/目录下 - 安装依赖包(同上)
- 重启 ComfyUI
节点详细解析
1. Color Transfer(颜色转移节点)
这个节点是干嘛的?
就像是一个"颜色搬运工",它能把一张图片的颜色风格完全复制到另一张图片上。比如你有一张夕阳照片很好看,想让你的人像照片也有那种暖暖的夕阳色调,这个节点就能帮你实现。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Source Image | source_image | IMAGE类型 | - | 要被改变颜色的图片,就是你想要"化妆"的那张图 | 源图像,将被应用颜色转移的目标图像 | 连接你想要改变颜色的图片节点 |
| Target Image | target_image | IMAGE类型 | - | 提供颜色风格的图片,就像"化妆师"一样 | 目标图像,提供颜色参考的源图像 | 连接你喜欢的颜色风格的图片节点 |
| No of Colors | no_of_colors | 0-256 | 6 | 要提取多少种主要颜色,就像调色盘上有几种颜色 | 从每张图像中提取的主要颜色数量 | 风景照用10-20,人像用5-10 |
| Blur Radius | blur_radius | 0-100 | 2 | 颜色边界的模糊程度,数字越大边界越柔和 | 颜色分割区域边缘的模糊半径 | 想要自然过渡用2-5,要清晰边界用0-1 |
| Blur Amount | blur_amount | 0-100 | 2 | 模糊的强度,配合上面的参数使用 | 模糊效果的强度系数 | 通常和blur_radius设置相同值 |
| Strength | strength | 0.0-2.0 | 1.0 | 颜色转移的强度,就像化妆的浓淡程度 | 颜色转移效果的强度控制 | 0.5是淡妆,1.0是正常,1.5是浓妆 |
| Gamma | gamma | 0.1-2.0 | 1.0 | 图片的亮度曲线调整,影响中间调 | 伽马校正值,调整图像的亮度分布 | 小于1变亮,大于1变暗,1.0不变 |
| Contrast | contrast | 0.0-3.0 | 1.0 | 对比度调整,影响明暗差异 | 对比度增强系数 | 1.0是原始,1.5增强对比,0.5降低对比 |
| Brightness | brightness | 0.0-100.0 | 1.0 | 整体亮度调整 | 亮度调整系数 | 1.0是原始亮度,2.0是两倍亮度 |
| Mask | mask | MASK类型(可选) | - | 可选的蒙版,只对蒙版区域进行颜色转移 | 可选的遮罩,限制颜色转移的区域 | 只想改变天空颜色时使用天空蒙版 |
2. Mask Ops(蒙版操作节点)
这个节点是干嘛的?
这是一个"智能选区工具",最神奇的是你可以用文字来描述你想选择的区域。比如你说"天空",它就能自动识别并选中图片中的天空部分。还能对蒙版进行各种调整,就像PS里的选区工具一样强大。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Image | image | IMAGE类型 | - | 要处理的原始图片 | 输入的源图像 | 连接你要创建蒙版的图片 |
| Text | text | 文本 | "" | 用文字描述你想选择的区域 | 用于CLIPSeg模型的文本提示词 | 输入"sky"选天空,"person"选人物 |
| Separate Mask | separate_mask | 0-1 | 0 | 是否把不同的区域分开成独立蒙版 | 是否将蒙版岛屿分离为独立图像 | 0保持整体,1分离各个区域 |
| Text Sigma | text_sigma | 0-150 | 30 | 文字识别的平滑程度,数字越大越平滑 | CLIPSeg生成蒙版的平滑系数 | 识别不准确时调高到50-80 |
| Use Text | use_text | 0-1 | 0 | 是否使用文字识别功能 | 是否启用基于文本的蒙版生成 | 1开启文字识别,0使用输入蒙版 |
| Blend Percentage | blend_percentage | 0.0-1.0 | 0 | 蒙版与原图的混合比例 | 蒙版与底层图像的混合百分比 | 0.3表示30%的透明度效果 |
| Black Level | black_level | 0.0-255.0 | 0.0 | 黑色区域的阈值调整 | 色阶调整中的黑场值 | 提高这个值让暗部更暗 |
| Mid Level | mid_level | 0.0-255.0 | 127.5 | 中间调的阈值调整 | 色阶调整中的中间调值 | 调整中等亮度区域的对比度 |
| White Level | white_level | 0.0-255.0 | 255 | 白色区域的阈值调整 | 色阶调整中的白场值 | 降低这个值让亮部更亮 |
| Channel | channel | red/green/blue | red | 选择处理哪个颜色通道 | 指定要处理的颜色通道 | 通常用red,特殊情况选其他 |
| Shrink Grow | shrink_grow | -128到128 | 0 | 蒙版的收缩或扩张,负数收缩正数扩张 | 蒙版的形态学操作,腐蚀或膨胀 | -5收缩边缘,+5扩张边缘 |
| Invert | invert | 0-1 | 0 | 是否反转蒙版,黑白颠倒 | 是否反转蒙版的黑白区域 | 1反转选区,0保持原样 |
| Blur Radius | blur_radius | 0.0-1024 | 5.0 | 蒙版边缘的模糊程度 | 高斯模糊的半径大小 | 5.0柔和边缘,0清晰边缘 |
| Mask | mask | MASK类型(可选) | - | 可选的输入蒙版 | 可选的输入遮罩图像 | 不用文字识别时输入现有蒙版 |
3. Inpaint Segments(分割修复节点)
这个节点是干嘛的?
这是一个"图片切割师",它能根据蒙版把图片切成一块一块的,然后把每一块都放大到指定尺寸。这样做的好处是可以让AI更专注地处理每个小区域,特别适合修复大图片或者对不同区域进行精细处理。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Image | image | IMAGE类型 | - | 要切割的原始图片 | 输入的源图像 | 连接你要分割处理的图片 |
| Mask | mask | IMAGE类型 | - | 用来指导切割的蒙版图 | 用于分割的蒙版图像 | 连接Mask Ops节点的输出 |
| Force Resize Width | force_resize_width | 0-很大的数 | 1024 | 强制把切出来的图片宽度改成这个尺寸 | 强制调整输出图像的宽度 | 1024适合大多数AI模型 |
| Force Resize Height | force_resize_height | 0-很大的数 | 1024 | 强制把切出来的图片高度改成这个尺寸 | 强制调整输出图像的高度 | 1024适合大多数AI模型 |
| Kind | kind | mask/RGB/RGBA | RGB | 输出图片的类型 | 输出图像的颜色模式 | RGB用于一般处理,RGBA保留透明度 |
| Padding | padding | 0-很大的数 | 3 | 切割时在边缘留多少像素的缓冲区 | 分割区域周围的填充像素 | 3-10像素避免边缘效应 |
| Constraints | constraints | 多种选项 | keep_ratio | 尺寸约束方式 | 输出图像的尺寸约束模式 | keep_ratio保持比例,ignore忽略比例 |
| Constraint X | constraint_x | 2-很大的数 | 64 | X方向的约束参数 | X轴方向的约束值 | 通常设为64的倍数 |
| Constraint Y | constraint_y | 2-很大的数 | 64 | Y方向的约束参数 | Y轴方向的约束值 | 通常设为64的倍数 |
| Min Width | min_width | 0-很大的数 | 0 | 输出图片的最小宽度 | 输出图像的最小宽度限制 | 设置最小尺寸避免太小的切片 |
| Min Height | min_height | 0-很大的数 | 0 | 输出图片的最小高度 | 输出图像的最小高度限制 | 设置最小尺寸避免太小的切片 |
| Batch Behavior | batch_behavior | match_ratio/match_size | match_ratio | 批处理时的行为方式 | 批量处理时的尺寸匹配策略 | match_ratio保持比例一致 |
| Mask Mapping Optional | mask_mapping_optional | MASK_MAPPING类型(可选) | - | 可选的蒙版映射关系 | 可选的蒙版到图像的映射关系 | 高级用法,一般不需要 |
4. Combine and Paste(合并粘贴节点)
这个节点是干嘛的?
这是一个"图片拼接师",它的工作是把经过AI处理的小图片块重新拼回到原来的大图上。就像拼图一样,把每个处理过的小块按照原来的位置贴回去,还能调整颜色让拼接更自然。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Decoded VAE | decoded_vae | IMAGE类型 | - | 经过AI处理后的图片 | VAE解码后的图像数据 | 连接VAE Decode节点的输出 |
| Original Image | Original_Image | IMAGE类型 | - | 原始的完整图片 | 原始的完整图像 | 连接最开始的原图 |
| Cut Image | Cut_Image | IMAGE类型 | - | 之前切出来的图片块 | 之前分割出的图像片段 | 连接Inpaint Segments的输出 |
| Cut Mask | Cut_Mask | IMAGE类型 | - | 之前切出来的蒙版块 | 之前分割出的蒙版片段 | 连接Inpaint Segments的蒙版输出 |
| Region | region | IMAGE类型 | - | 区域信息,告诉节点往哪里贴 | 指定粘贴位置的区域信息 | 连接Inpaint Segments的区域输出 |
| Color Xfer Factor | color_xfer_factor | 0.0-2.0 | 1.0 | 颜色转移的强度,让拼接更自然 | 颜色校正的强度系数 | 1.0正常,0.5减弱,1.5增强 |
| Op | op | 多种混合模式 | union (max) | 图片混合的方式 | 图像混合的操作模式 | union最常用,multiply用于特殊效果 |
| Clamp Result | clamp_result | yes/no | yes | 是否限制结果在正常范围内 | 是否将结果值限制在[0,1]范围 | yes避免异常值,no保留原始计算 |
| Round Result | round_result | yes/no | no | 是否对结果进行四舍五入 | 是否对结果进行舍入处理 | 一般选no保持精度 |
| Resize Behavior | resize_behavior | 多种选项 | resize | 调整尺寸的方式 | 图像尺寸调整的行为模式 | resize直接缩放,keep_ratio保持比例 |
| Mask Mapping Optional | mask_mapping_optional | MASK_MAPPING类型(可选) | - | 可选的蒙版映射关系 | 可选的蒙版映射信息 | 高级用法,一般不需要 |
5. ComfyShop(前端画图工具)
这个工具是干嘛的?
这是一个内置在ComfyUI里的画图软件,就像一个简化版的Photoshop。你可以直接在图片上画画、涂色、创建蒙版。最棒的是它支持压感笔,还有撤销重做功能。
功能详解:
| 功能名称 | 快捷键 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|
| 打开ComfyShop | 右键菜单 | 在有图片和蒙版输出的节点上右键选择 | 在IMAGE+MASK输出节点的右键菜单中选择 | 在Load Image节点上右键选ComfyShop |
| 画笔大小调整 | 鼠标滚轮 | 滚轮控制画笔粗细 | 通过鼠标滚轮调整画笔尺寸 | 向上滚变粗,向下滚变细 |
| 画笔透明度 | Shift+Alt+滚轮 | 控制画笔的透明程度 | 调整画笔的不透明度 | 100%完全不透明,50%半透明 |
| 画笔柔和度 | Alt+滚轮 | 控制画笔边缘的柔和程度 | 调整画笔边缘的羽化效果 | 0%硬边缘,100%完全柔和 |
| 颜色选择 | 画笔菜单 | 选择画笔颜色 | RGB颜色选择器 | 点击颜色块选择你想要的颜色 |
| 模式切换 | 下拉菜单 | 在灰度蒙版和彩色绘画间切换 | 在Greyscale和RGB模式间切换 | 灰度画蒙版,RGB画彩色 |
| 撤销 | Ctrl+Z | 撤销上一步操作 | 撤销最近的绘画操作 | 画错了按Ctrl+Z |
| 重做 | Ctrl+Shift+Z | 重做被撤销的操作 | 恢复被撤销的操作 | 撤销多了用这个恢复 |
| 缩放 | Ctrl+Space+鼠标移动 | 放大缩小画布 | 动态缩放画布视图 | 按住Ctrl+Space然后移动鼠标 |
| 拖拽 | Ctrl+Space+拖拽 | 移动画布位置 | 平移画布视图 | 按住Ctrl+Space然后拖拽画布 |
| 适应窗口 | F键 | 让图片完整显示在窗口里 | 将图像缩放到适合窗口大小 | 按F键自动调整到合适大小 |
| 适应屏幕 | Shift+F | 让图片适应屏幕大小 | 将图像缩放到适合屏幕大小 | 按Shift+F自动适应屏幕 |
| 画笔菜单 | Shift+右键 | 打开画笔设置菜单 | 显示画笔参数调整界面 | 按住Shift然后右键点击 |
| 清除画布 | Clear按钮 | 清空所有绘画内容 | 清除当前画布上的所有内容 | 点击左下角的Clear按钮 |
| 保存 | Save按钮 | 保存绘画结果 | 将绘画结果保存到节点输出 | 点击右下角的Save按钮 |
使用技巧和建议
颜色转移的最佳实践
- 选择合适的参考图:参考图的颜色风格要明确,避免颜色过于复杂的图片
- 调整颜色数量:风景照建议10-20种颜色,人像建议5-10种颜色
- 使用蒙版精确控制:只想改变天空颜色时,先用Mask Ops创建天空蒙版
- 强度要适中:strength参数从0.5开始尝试,避免过度处理
文字蒙版的使用窍门
- 用简单英文词汇:如"sky"、"person"、"tree"、"car"等
- 调整sigma值:识别不准确时提高到50-80
- 组合使用:可以创建多个蒙版然后合并
- 后期调整:用shrink_grow参数微调边缘
分割修复的工作流程
- 创建精确蒙版 → Mask Ops节点
- 分割图像 → Inpaint Segments节点
- AI处理 → VAE Encode → KSampler → VAE Decode
- 合并结果 → Combine and Paste节点
ComfyShop绘画技巧
- 先用大画笔打底,再用小画笔细化
- 善用透明度创造自然过渡效果
- 经常保存避免意外丢失工作
- 使用快捷键提高工作效率
常见问题解答
Q1:颜色转移效果不明显怎么办?
A: 尝试以下方法:
- 提高strength参数到1.2-1.5
- 增加no_of_colors到15-20
- 检查两张图片的颜色差异是否足够大
- 使用蒙版限制转移区域
Q2:文字蒙版识别不准确?
A: 可以这样调整:
- 提高text_sigma到50-80
- 使用更简单明确的英文词汇
- 尝试不同的描述方式,如"blue sky"而不是"sky"
- 后期用shrink_grow参数调整边缘
Q3:ComfyShop画笔反应迟钝?
A: 检查以下设置:
- 降低画笔柔和度
- 减小画笔尺寸
- 关闭不必要的浏览器标签页
- 确保显卡驱动是最新版本
Q4:分割修复后拼接有明显痕迹?
A: 尝试这些解决方案:
- 增加padding参数到5-10
- 调整color_xfer_factor到0.7-0.8
- 使用更柔和的蒙版边缘(增加blur_radius)
- 检查原始蒙版是否过于锐利
Q5:节点报错"CUDA out of memory"?
A: 内存不足的解决方法:
- 降低处理图片的分辨率
- 减少no_of_colors参数
- 分批处理大图片
- 重启ComfyUI释放显存
高级应用案例
案例1:电影级调色工作流
- 使用Color Transfer节点参考电影截图
- 配合Mask Ops分别处理天空、人物、背景
- 用ComfyShop手动调整细节
- 最终合成专业级调色效果
案例2:人像美颜修复
- Mask Ops识别人脸区域
- Inpaint Segments分割面部细节
- 使用AI模型单独处理每个区域
- Combine and Paste自然合并结果
案例3:风景照片增强
- 分别创建天空、山脉、水面蒙版
- 对每个区域应用不同的颜色转移
- 用ComfyShop添加细节和光效
- 最终输出HDR风格的风景照
总结
ComfyI2I插件为ComfyUI带来了强大的图像处理能力,特别是颜色转移和智能蒙版功能。通过合理组合这些节点,你可以实现从简单的颜色调整到复杂的图像修复等各种效果。
本次分析完成情况:
- ✅ 已输出全部 5个节点(4个Python节点 + 1个JavaScript工具)
- ✅ 每个节点的所有参数都已详细解释
- ✅ 包含了前端ComfyShop工具的完整功能说明
- ✅ 提供了实用的使用技巧和问题解决方案
记住,熟练使用这个插件需要多练习。建议从简单的颜色转移开始,逐步尝试更复杂的功能组合。祝你在ComfyUI的创作路上越走越远!