PaintMask 交互式手工绘制与蒙版微调节点
节点核心功能 (What is it?)
PaintMask 节点允许创作者基于输入的图像资源创建可交互编辑的蒙版(Editable Mask),并提供内置的手绘笔刷界面以自由修改透明度。它会自动从输入图像的 Alpha 通道中提取生成初始蒙版,随后在图形界面中呈现交互式画板,供用户手动涂抹擦除或补全选区;与此同时,该节点还会将编辑后的蒙版实时压合回原图中,直接输出完成遮罩抠图的最终图像。
典型适用场景 (When would I use it?)
在以下情况下使用该节点:
- 为图像局部重绘(Inpainting)与高阶合成创建自定义精细蒙版;
- 手动修正和微调算法自动生成的粗糙抠图蒙版边缘;
- 在图像特定区域上手工涂抹半透明或渐变透明效果;
- 为多图层叠放精确指定局部镂空或透视显示区域;
- 精修毛发、复杂反光边缘或物体分界线的选区细节。
使用指南 (How to use it)
基础配置流程 (Basic Setup)
- 在工作流画布中添加 PaintMask 节点。
- 将图像数据源接入
input_image输入插槽。 - 节点将自动提取该图的 Alpha 通道作为初始黑白蒙版。
- 在
output_mask参数区域内嵌的可视化涂鸦画板上,使用画笔工具手动绘制与修改选区。 - 最终合成遮罩效果的图像将实时从
output_image引脚输出。
参数输入插槽 (Parameters)
- input_image:用于生成初始蒙版并接受遮罩作用的源图像资产。
输出引脚 (Outputs)
- output_mask:可在前端面板上直接进行笔刷涂抹交互的可编辑蒙版图像工件(
ImageArtifact)。 - output_image:将涂绘修改后的蒙版作用于原图后得到的最终透明通道图像资产。
典型工作流示例 (Example)
常见的局部修绘与精细遮罩流水线:
- 使用
GenerateImage或LoadImage获取一张需要抠图修整的主体图像。 - 将其输出连入
PaintMask节点的input_image参数。 - 节点自动生成对应的基础蒙版。
- 在节点属性面板的
output_mask画板中,利用不同粗细的笔刷涂抹擦除背景多余部分,或填补主体内部被误掏空的区域。 - 此时
output_image输出引脚将即时反映当前的修改结果,可连接至DisplayImage监看,或引至下游的扩散模型做局部重绘。
关键技术特性 (Important Notes)
- 自动生成初始蒙版 (Automatic Mask Generation):智能检测输入图像是否带有 Alpha 通道;若有则自动提取转换为灰度遮罩,免除从零绘制的繁琐。
- 内嵌交互式绘图板 (Interactive Painting):无需切换到外部修图软件,在 GTN 画布面板中即可直接使用画笔、橡皮擦与尺寸滑块进行涂绘。
- 编辑状态持久化 (Mask Persistence):在工作流中微调其他参数时,已手工绘制的选区修改会被严格记忆保存;仅当更换全新的图像 URL 源时才会提示重置。
- 红色通道映射机制 (Red Channel Usage):底层采用绘制图像的红色分量(R 通道)作为最终图像的透明度(Alpha 通道)基准。
- 即时响应式渲染 (Real-time Updates):每一笔涂抹抬笔后,输出端立即触发更新。
常见问题与排查 (Common Issues)
- 没有图像输出:确认输入图像源是否已正确连接且已成功渲染。
- 更换图片后蒙版未刷新:若修改了上游图像但希望重新生成蒙版,请确认图像 URL 是否已更新,或在画板中手动清空重置。
- 涂绘工具无反应:请确保是在
output_mask属性面板内点击画板进行交互绘制。 - 透明度遮挡反了:牢记蒙版的灰阶准则——白色为保留(不透明),黑色为剔除(纯透明)。若方向相反,可在下游接入
InvertMask节点进行反转。
底层技术执行机制 (Technical Details)
节点通过以下严谨的管线执行蒙版生成与压合:
- 初始蒙版解析:提取输入图的 Alpha 遮罩并归一化为标准的单通道 8-bit 灰度矩阵。
- 交互光栅化记录:用户在 WebUI 交互面板上的笔刷矢量路径实时光栅化写入内存图层。
- Alpha 矩阵压合:提取最终手绘图层的 R 分量矩阵,使用
Image.putalpha()方法直接覆写替换原输入图像的透明度通道,生成精准透明的最终图件。