ComfyUI_CartoonSegmentation 插件完全保姆级教程
1. 插件简介
ComfyUI_CartoonSegmentation(也叫CfyCS)是一个超级好用的ComfyUI插件,专门用来处理动漫风格图片的分割。
插件地址: https://github.com/Nlar/ComfyUI_CartoonSegmentation
这个插件能干什么?
- 把动漫图片里的人物、背景、衣服等不同部分自动分离出来(就像用魔法棒抠图一样)
- 创建短视频,让单张图片产生放大缩小的动态效果(就像照片活起来了)
- 生成各种遮罩图层,方便后续编辑(就像PS里的蒙版)
能给我们带来什么效果?
- 轻松分离动漫角色的不同部分,比如头发、皮肤、衣服
- 制作动态效果视频,让静态图片变得生动
- 为后续的图片编辑提供精准的选区
2. 如何安装
方法一:通过ComfyUI管理器安装(推荐)
- 打开ComfyUI界面
- 点击右下角的"Manager"按钮
- 选择"Install Custom Nodes"
- 搜索"CartoonSegmentation"
- 找到插件后点击"Install"
方法二:手动安装
- 找到你的ComfyUI安装目录
- 进入
custom_nodes文件夹 - 在这里打开命令行工具
- 输入以下命令:
git clone https://github.com/Nlar/ComfyUI_CartoonSegmentation.git
cd ComfyUI_CartoonSegmentation
pip install -r requirement.txt
额外配置(重要)
安装完成后,还需要下载一些模型文件:
- 下载rtmdetl_e60.ckpt模型(这是主要的分割模型)
- 下载res101.pth文件(用于深度估计)
- 按照插件说明将文件放到指定目录
3. 节点详细解析
3.1 CartoonSegmentation节点
这是插件的核心节点,就像一个智能的抠图工具,能够自动识别和分离动漫图片中的不同部分。
3.1.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图片 | image | 图片数据 | - | 你要处理的动漫图片 | 输入的图像张量数据 | 把你想分割的动漫图片拖进来 |
| 检测阈值 | detection_threshold | 0.0-1.0 | 0.5 | 决定多敏感地发现图片中的东西 | 目标检测的置信度阈值 | 设置0.3会发现更多细节,0.7会更准确但可能漏掉一些 |
| 分割模式 | segmentation_mode | "instance"/"semantic" | "instance" | 选择分割的精细程度 | 实例分割或语义分割模式 | instance模式能分出每个单独的角色,semantic模式按类别分 |
| 输出类型 | output_type | "mask"/"colored" | "mask" | 选择输出黑白遮罩还是彩色区域 | 输出结果的可视化类型 | mask输出黑白图便于后续处理,colored输出彩色图方便查看 |
3.2 KenBurns Config Loader节点
这个节点专门用来制作肯伯恩斯效果(就是那种照片会慢慢放大缩小移动的电影效果)。
3.2.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 配置文件路径 | config_path | 文件路径 | 默认路径 | 告诉程序动效设置文件在哪里 | 加载运动配置文件的路径 | 使用默认设置就行,除非你想自定义动效 |
| 视频长度 | duration | 数字(秒) | 5 | 生成的视频有多长 | 输出视频的时长设置 | 填5表示5秒钟的视频 |
| 帧率 | fps | 数字 | 30 | 视频每秒有多少张画面 | 视频的帧率设置 | 30表示很流畅,15会有点卡但文件小 |
| 缩放范围 | zoom_range | 两个数字 | [1.0, 1.5] | 图片放大的最小和最大倍数 | 缩放效果的范围控制 | [1.0, 2.0]表示从原大小放大到2倍 |
| 移动范围 | pan_range | 两个数字 | [-0.1, 0.1] | 图片左右上下移动的范围 | 平移效果的范围控制 | [-0.2, 0.2]表示可以移动图片宽度的20% |
3.3 Depth Estimator节点
这个节点就像给图片戴上3D眼镜,能够判断图片中哪些地方离得近、哪些地方离得远。
3.3.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图片 | image | 图片数据 | - | 你要分析深度的图片 | 输入的图像数据 | 把需要分析距离的图片拖进来 |
| 模型类型 | model_type | "leres"/"midas" | "leres" | 选择用哪种算法来判断距离 | 深度估计模型的类型 | leres更适合动漫图片,midas更通用 |
| 输出格式 | output_format | "depth"/"normal" | "depth" | 选择输出深度图还是法线图 | 深度信息的输出格式 | depth显示远近,normal显示表面方向 |
| 反转深度 | invert_depth | True/False | False | 是否把远近关系颠倒 | 是否反转深度值 | True会让远的地方变白,近的变黑 |
3.4 Mask Processor节点
这个节点就像一个遮罩处理工厂,能够对分割出来的遮罩进行各种加工。
3.4.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入遮罩 | mask | 遮罩数据 | - | 你要处理的黑白遮罩图 | 输入的遮罩张量 | 把分割节点输出的遮罩接过来 |
| 膨胀大小 | dilate_size | 数字 | 3 | 让白色区域变大一点 | 形态学膨胀的核大小 | 填5会让选区边缘向外扩张5个像素 |
| 腐蚀大小 | erode_size | 数字 | 3 | 让白色区域变小一点 | 形态学腐蚀的核大小 | 填3会让选区边缘向内收缩3个像素 |
| 模糊程度 | blur_amount | 数字 | 0 | 让遮罩边缘变得柔和 | 高斯模糊的程度 | 填5会让遮罩边缘有轻微的渐变 |
| 操作顺序 | operation_order | 字符串 | "dilate-erode" | 先膨胀再腐蚀,还是先腐蚀再膨胀 | 形态学操作的执行顺序 | "erode-dilate"先收缩再扩张,能去除小噪点 |
3.5 Video Output节点
这个节点负责把处理好的图片序列打包成视频文件。
3.5.1 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图片序列 | images | 图片序列 | - | 一系列要合成视频的图片 | 输入的图像序列数据 | 把动效节点输出的图片序列接过来 |
| 输出路径 | output_path | 文件路径 | "./output.mp4" | 视频文件保存在哪里 | 输出视频文件的路径 | 填"./my_video.mp4"保存到当前目录 |
| 视频编码 | codec | "h264"/"h265" | "h264" | 选择视频的压缩方式 | 视频编码格式 | h264兼容性好,h265文件更小但需要新设备 |
| 质量设置 | quality | 1-100 | 85 | 视频画质,数字越大越清晰 | 视频编码质量参数 | 95是高质量,70是标准质量,50是低质量 |
| 帧率 | fps | 数字 | 30 | 视频每秒播放多少张图片 | 视频帧率设置 | 30很流畅,24是电影标准,60超流畅 |
4. 使用技巧和建议
4.1 分割效果优化技巧
- 调整检测阈值:如果分割效果不理想,试试降低检测阈值到0.3-0.4,能发现更多细节
- 选择合适的分割模式:处理单个角色用instance模式,处理多个角色用semantic模式
- 预处理图片:确保输入图片清晰,对比度适中,避免过暗或过亮
4.2 视频制作技巧
- 合理设置缩放范围:初学者建议使用[1.0, 1.3]的缩放范围,效果自然不突兀
- 控制移动幅度:移动范围不要超过[-0.15, 0.15],否则会有明显的裁切感
- 选择合适的时长:3-8秒是比较理想的视频长度,太短看不清效果,太长会显得单调
4.3 遮罩处理技巧
- 先膨胀再腐蚀:这个顺序能填补小洞,适合处理有细节缺失的遮罩
- 先腐蚀再膨胀:这个顺序能去除小噪点,适合处理有杂点的遮罩
- 适量模糊:给遮罩添加1-3像素的模糊,能让最终效果更自然
5. 常见问题解答
Q1:安装后找不到节点怎么办?
A1: 确保ComfyUI完全重启,如果还是找不到,检查custom_nodes目录下是否有ComfyUI_CartoonSegmentation文件夹。
Q2:分割效果不好,总是漏掉一些部分
A2: 尝试降低检测阈值到0.3,或者换用不同的分割模式。如果图片质量不高,可以先用其他节点增强一下。
Q3:生成视频时出现错误
A3: 确保安装了所有依赖项,特别是ffmpeg。检查输出路径是否有写入权限。
Q4:处理速度很慢
A4: 确保GPU内存足够,如果内存不够可以降低图片分辨率。关闭不必要的其他程序释放内存。
Q5:遮罩边缘不够光滑
A5: 在Mask Processor节点中增加模糊程度到3-5,或者先膨胀再腐蚀来平滑边缘。
6. 实际应用场景
6.1 动漫角色分离
适合制作角色立绘、更换背景、单独处理角色等场景。
6.2 动态壁纸制作
利用KenBurns效果制作有轻微动效的动态壁纸。
6.3 视频素材制作
为视频剪辑提供分离好的角色素材和背景素材。
6.4 图片编辑预处理
为后续的图片编辑工作提供精准的选区和遮罩。
这个插件是动漫图片处理的得力助手,掌握了这些节点的使用方法,你就能轻松制作出专业级的动漫图片分割和动态效果了!记住,多练习是掌握任何工具的关键,从简单的图片开始,逐步尝试更复杂的效果。