VKRiez-Edge 插件完整使用教程
1. 插件简介
VKRiez-Edge(GitHub原地址:https://github.com/vadimcro/VKRiez-Edge)是一个专门为ComfyUI制作的边缘检测插件,就像给图片加上"描边"功能一样。这个插件能够生成高质量的边缘图,用于ControlNet引导,并支持可选的GPU加速双边滤波以加速预处理管道。
简单来说,它就像一个智能的"轮廓提取器",能够:
- 把照片变成线稿,就像用铅笔描边一样
- 识别图片中重要的边缘线条,忽略不重要的细节
- 让AI更好地理解图片的结构,帮助生成更准确的图像
这个插件特别适合用来:
- 制作ControlNet的参考图
- 把照片转换成线稿风格
- 提取建筑图纸或手绘图的轮廓
- 为AI绘画提供更精确的结构指导
2. 如何安装
方法一:使用ComfyUI Manager(推荐)
- 打开ComfyUI Manager
- 点击"Install via Git URL"
- 输入:
https://github.com/vadimcro/VKRiez-Edge.git - 点击安装
方法二:手动安装
- 打开终端/命令行
- 进入ComfyUI的custom_nodes文件夹
- 运行命令:
git clone https://github.com/vadimcro/VKRiez-Edge.git - 重启ComfyUI
额外步骤(可选,但推荐)
如果你想使用混合MTEED模式(AI智能边缘检测),需要额外安装:
pip install git+https://github.com/Mikubill/sd-webui-controlnet.git
3. 节点详解
这个插件提供了两个主要节点,就像两种不同的"描边工具":
3.1 VKriez Enhanced Edge Preprocessor 节点(增强边缘预处理器)
这个节点就像一个"精密的轮廓提取工具",能够产生干净连续的线条,噪点很少。它主要用传统的方法来检测边缘,适合处理技术图纸、建筑图、手绘图等需要精确线条的场景。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Use GPU Acceleration | use_gpu_acceleration | True/False | True | 就像选择用电动工具还是手动工具,开启后处理速度更快 | 启用GPU加速计算,主要用于双边滤波 | 如果电脑有独立显卡就开启,没有就关闭 |
| Use Bilateral | use_bilateral | True/False | True | 就像给图片"磨皮",能保持重要边缘的同时减少噪点 | 启用双边滤波进行降噪处理 | 处理有噪点的照片时开启,处理干净的线稿时可关闭 |
| Bilateral Filter Diameter | bilateral_d | 5-15 | 7-9 | 决定"磨皮"的范围大小,数值越大磨皮范围越大 | 双边滤波的邻域直径 | 人像照片用9-11,精细线稿用5,噪点多的图用11-15 |
| Bilateral Color Sigma | bilateral_sigma_color | 10-200 | 50-100 | 决定颜色相近的程度,数值越大越容易把相近颜色混在一起 | 颜色空间的标准差 | 彩色渐变图用20-40,单色图用50-100 |
| Bilateral Space Sigma | bilateral_sigma_space | 10-200 | 50-100 | 决定空间距离的影响,数值越大影响范围越广 | 空间域的标准差 | 精细线条用30-50,大面积处理用50-100 |
| Use CLAHE | use_clahe | True/False | True | 就像调整照片的"对比度",让暗处和亮处的细节都能看清 | 启用限制对比度自适应直方图均衡化 | 处理光线不均匀的照片时开启 |
| Clip Limit | clahe_clip_limit | 1.0-10.0 | 2.0-3.0 | 限制对比度增强的程度,数值越大增强效果越明显 | CLAHE的裁剪限制 | 雾天照片用3.0-4.0,普通照片用2.0-3.0 |
| Tile Grid Size | clahe_tile_grid_size | 2-16 | 8 | 把图片分成多少个小块来处理,数值越小处理越精细 | CLAHE的网格大小 | 光线变化大的图用4-6,均匀光线用8 |
| Canny Low Threshold | canny_low_threshold | 50-200 | 80-120 | 设置能检测到的最弱边缘强度,数值越小检测越敏感 | Canny边缘检测的低阈值 | 淡淡的铅笔线用50-70,正常线条用80-120 |
| Canny High Threshold | canny_high_threshold | 100-255 | 200 | 设置确定是边缘的最低强度,数值越大要求越严格 | Canny边缘检测的高阈值 | 清晰线条用220-250,模糊线条用150-200 |
| Canny Aperture Size | canny_aperture_size | 3/5/7 | 3 | 检测边缘时考虑的像素范围,数值越大越平滑但可能丢失细节 | Sobel算子的窗口大小 | 精细线条用3,噪点图用5-7 |
| Use Edge Linking | use_edge_linking | True/False | True | 就像"连线游戏",把断开的线条连接起来 | 启用边缘链接算法 | 处理有断线的手绘图时开启 |
| Gap Threshold | gap_threshold | 1-10 | 3-5 | 设置能连接的最大间隙距离,数值越大连接能力越强 | 边缘链接的间隙阈值 | 断线很细的用1-2,断线较宽的用3-5 |
| Angle Threshold | angle_threshold | 10-90 | 30-45 | 设置能连接的最大角度差异,数值越大越容易连接 | 边缘链接的角度阈值 | 几何图形用45-60,圆滑曲线用30-40 |
| Use Morphology | use_morphology | True/False | True | 就像"修补工具",填补小缺口,让线条更完整 | 启用形态学操作 | 有小断口的图开启 |
| Morphology Kernel Size | morphology_kernel_size | 1-7 | 3 | 决定修补的范围大小,数值越大修补范围越大 | 形态学核的大小 | 小断口用3,大断口用5-7 |
| Morphology Iterations | morphology_iterations | 1-3 | 1-2 | 决定修补的次数,次数越多修补越彻底 | 形态学操作的迭代次数 | 轻微断线用1次,严重断线用2-3次 |
| Use Component Filter | use_component_filter | True/False | True | 就像"橡皮擦",去除小的噪点和杂点 | 启用连通组件过滤 | 有噪点的图开启 |
| Min Component Size | min_component_size | 5-500 | 20-50 | 设置保留的最小图形大小,数值越大过滤越严格 | 最小连通组件大小 | 噪点多的用50-100,精细图用10-20 |
| Use Adaptive Regions | use_adaptive_regions | True/False | False | 智能识别前景和背景,分别处理 | 启用自适应区域分割 | 处理复杂场景时开启 |
| Use Enhanced Filtering | use_enhanced_filtering | True/False | False | 使用更高级的过滤方法 | 启用增强过滤 | 需要更精细控制时开启 |
| Use Edge Consistency | use_edge_consistency | True/False | False | 让所有线条粗细保持一致,就像用同一支笔画出来 | 启用边缘一致性处理 | 需要统一线条粗细时开启 |
| Target Edge Thickness | target_edge_thickness | 1-5 | 1-2 | 设置目标线条粗细 | 目标边缘厚度 | 细线条用1,粗线条用2-3 |
| Resolution | resolution | 512-2048 | 1024 | 设置处理图片的分辨率,数值越大越清晰但速度越慢 | 处理分辨率 | 预览用512,最终输出用1280或更高 |
3.2 VKriez Hybrid MTEED Edge Preprocessor 节点(混合MTEED边缘预处理器)
这个节点就像一个"AI智能描边工具",它结合了人工智能和传统方法,能够更智能地理解图片内容,识别出真正重要的边缘。适合处理照片、自然图像等复杂场景。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Use GPU Acceleration | use_gpu_acceleration | True/False | True | 就像选择用电动工具还是手动工具,开启后处理速度更快 | 启用GPU加速计算 | 有独立显卡就开启 |
| Use Bilateral | use_bilateral | True/False | True | 就像给图片"磨皮",能保持重要边缘的同时减少噪点 | 启用双边滤波进行降噪处理 | 处理有噪点的照片时开启 |
| Bilateral Filter Diameter | bilateral_d | 5-15 | 9-11 | 决定"磨皮"的范围大小,数值越大磨皮范围越大 | 双边滤波的邻域直径 | 人像照片用9-11,风景照片用7-9 |
| Bilateral Color Sigma | bilateral_sigma_color | 10-200 | 75-100 | 决定颜色相近的程度,数值越大越容易把相近颜色混在一起 | 颜色空间的标准差 | 彩色丰富的照片用75-100 |
| Bilateral Space Sigma | bilateral_sigma_space | 10-200 | 75-100 | 决定空间距离的影响,数值越大影响范围越广 | 空间域的标准差 | 复杂场景用75-100 |
| Use CLAHE | use_clahe | True/False | True | 就像调整照片的"对比度",让暗处和亮处的细节都能看清 | 启用限制对比度自适应直方图均衡化 | 光线不均匀的照片开启 |
| Clip Limit | clahe_clip_limit | 1.0-10.0 | 2.0 | 限制对比度增强的程度,数值越大增强效果越明显 | CLAHE的裁剪限制 | 风景照片用2.0,人像照片用1.5-2.0 |
| Tile Grid Size | clahe_tile_grid_size | 2-16 | 4-8 | 把图片分成多少个小块来处理,数值越小处理越精细 | CLAHE的网格大小 | 复杂光线用4,简单光线用8 |
| Canny Low Threshold | canny_low_threshold | 50-200 | 100-120 | 设置能检测到的最弱边缘强度,数值越小检测越敏感 | Canny边缘检测的低阈值 | 照片一般用100,淡色调用80 |
| Canny High Threshold | canny_high_threshold | 100-255 | 200-240 | 设置确定是边缘的最低强度,数值越大要求越严格 | Canny边缘检测的高阈值 | 清晰照片用220-240,模糊照片用180-200 |
| Canny Aperture Size | canny_aperture_size | 3/5/7 | 5 | 检测边缘时考虑的像素范围,数值越大越平滑但可能丢失细节 | Sobel算子的窗口大小 | 照片一般用5,精细图用3 |
| Use Edge Linking | use_edge_linking | True/False | True | 就像"连线游戏",把断开的线条连接起来 | 启用边缘链接算法 | 让轮廓更连续时开启 |
| Gap Threshold | gap_threshold | 1-10 | 3 | 设置能连接的最大间隙距离,数值越大连接能力越强 | 边缘链接的间隙阈值 | 照片处理一般用3 |
| Angle Threshold | angle_threshold | 10-90 | 30-40 | 设置能连接的最大角度差异,数值越大越容易连接 | 边缘链接的角度阈值 | 自然场景用30-40 |
| Use Morphology | use_morphology | True/False | True | 就像"修补工具",填补小缺口,让线条更完整 | 启用形态学操作 | 让轮廓更完整时开启 |
| Morphology Kernel Size | morphology_kernel_size | 1-7 | 3 | 决定修补的范围大小,数值越大修补范围越大 | 形态学核的大小 | 一般用3就够了 |
| Morphology Iterations | morphology_iterations | 1-3 | 1 | 决定修补的次数,次数越多修补越彻底 | 形态学操作的迭代次数 | 一般用1次就够了 |
| Use Component Filter | use_component_filter | True/False | True | 就像"橡皮擦",去除小的噪点和杂点 | 启用连通组件过滤 | 去除噪点时开启 |
| Min Component Size | min_component_size | 5-500 | 30-50 | 设置保留的最小图形大小,数值越大过滤越严格 | 最小连通组件大小 | 照片用30-50,去除更多杂点用50-100 |
| Use Adaptive Regions | use_adaptive_regions | True/False | False | 智能识别前景和背景,分别处理 | 启用自适应区域分割 | 复杂场景时开启 |
| Use Enhanced Filtering | use_enhanced_filtering | True/False | False | 使用更高级的过滤方法 | 启用增强过滤 | 需要更精细控制时开启 |
| Use Edge Consistency | use_edge_consistency | True/False | False | 让所有线条粗细保持一致,就像用同一支笔画出来 | 启用边缘一致性处理 | 需要统一线条粗细时开启 |
| Target Edge Thickness | target_edge_thickness | 1-5 | 1-2 | 设置目标线条粗细 | 目标边缘厚度 | 细线条用1,粗线条用2 |
| Resolution | resolution | 512-2048 | 1280 | 设置处理图片的分辨率,数值越大越清晰但速度越慢 | 处理分辨率 | 照片处理推荐1280或更高 |
| Use MTEED | use_mteed | True/False | True | 开启AI智能分析,就像有个懂艺术的助手帮你识别重要边缘 | 启用MTEED神经网络 | 处理复杂照片时开启 |
| Use Enhanced Edges | use_enhanced_edges | True/False | True | 开启传统边缘检测,补充AI可能遗漏的细节 | 启用增强边缘检测 | 需要更多细节时开启 |
| Edge Lower Bound | edge_lower_bound | 0.0-1.0 | 0.1-0.2 | 设置包含边缘的最低强度,数值越高过滤越严格 | 边缘强度下限 | 减少噪点用0.2-0.3,保留细节用0.1 |
| Edge Upper Bound | edge_upper_bound | 0.0-1.0 | 1.0 | 设置包含边缘的最高强度,一般保持1.0 | 边缘强度上限 | 几乎总是用1.0 |
| Connectivity | connectivity | 1/2 | 1 | 设置像素连接方式,1是四方向,2是八方向 | 连通性参数 | 技术图用1,复杂图用2 |
4. 使用技巧和建议
4.1 根据图片类型选择节点
线稿、技术图、建筑图 → 选择 Enhanced Edge Preprocessor
- 这类图本身线条就很清晰,用传统方法效果更好
- 重点调整Canny参数和边缘连接参数
照片、自然图像、复杂场景 → 选择 Hybrid MTEED Edge Preprocessor
- AI能更好地理解哪些边缘是重要的
- 既保留了重要结构,又避免了过多细节干扰
4.2 常用参数组合
人像照片处理:
- 双边滤波:直径11,颜色100,空间100
- Canny:低100,高200
- 组件过滤:最小30
风景照片处理:
- 双边滤波:直径9,颜色75,空间75
- Canny:低120,高240
- 组件过滤:最小50
手绘图处理:
- 双边滤波:直径7,颜色50,空间50
- Canny:低50,高150
- 边缘连接:间隙4,角度45
4.3 性能优化建议
- GPU加速:有独立显卡就开启,能显著提升速度
- 分辨率选择:预览用512,最终输出用1280+
- 处理顺序:先用低分辨率调试参数,再用高分辨率出图
5. 常见问题解答
Q:为什么输出的边缘太多太乱?
A:这通常是因为检测太敏感了,可以:
- 提高Canny高阈值到220-250
- 增大双边滤波的直径和强度
- 提高最小组件大小到50-100
- 对于混合模式,提高边缘下限到0.2-0.3
Q:为什么重要的边缘没有检测到?
A:这是因为检测不够敏感,可以:
- 降低Canny低阈值到50-70
- 提高CLAHE的裁剪限制到3.0-4.0
- 确保混合模式下MTEED和增强边缘都开启
- 降低边缘下限到0.0
Q:为什么线条不连续,有很多断开?
A:可以通过以下方式改善:
- 增大边缘连接的间隙阈值到5-7
- 增大边缘连接的角度阈值到45-60
- 增加形态学操作的核大小和迭代次数
- 适当降低Canny高阈值
Q:为什么线条太粗或太细?
A:可以调整:
- 开启边缘一致性处理
- 调整目标边缘厚度
- 对于太粗:减小形态学核大小和迭代次数
- 对于太细:可以适当增加形态学处理
Q:处理速度太慢怎么办?
A:可以:
- 降低分辨率到512-768
- 关闭边缘连接(这是最耗时的步骤)
- 使用较小的双边滤波直径
- 对于混合模式,尝试只使用增强边缘不使用MTEED
6. 实际应用案例
6.1 制作ControlNet线稿
- 导入原图到Load Image节点
- 连接到VKriez Edge节点
- 根据图片类型选择合适的节点
- 调整参数后连接到ControlNet Apply节点
- 最终生成符合原图结构的新图像
6.2 照片转线稿
- 使用Hybrid MTEED节点
- 调高组件过滤的最小大小
- 适当提高边缘下限
- 得到干净的线稿效果
6.3 修复手绘图
- 使用Enhanced Edge节点
- 开启边缘连接和形态学处理
- 调整间隙和角度阈值
- 让断断续续的线条变得连续
这个插件就像是ComfyUI的"智能描边大师",掌握了这些参数的含义和使用技巧,你就能轻松处理各种图片的边缘提取需求了!