KJNodes/maskinggenerated
Batch Crop From Mask(BatchCropFromMask)
从技术实现上看,该节点接收`IMAGE`类型的原始图像和`MASK`类型的遮罩作为输入。
Batch Crop From Mask
original_images
masks
original_images
cropped_images
bboxes
width
height
crop_size_mult
1.000
bbox_smooth_alpha
0.50
KJNodes
Batch Crop From Mask 节点,从技术实现上看,该节点接收IMAGE类型的原始图像和MASK类型的遮罩作为输入
Batch Crop From Mask 节点是一个用于批量图像处理的工具,它能够根据提供的遮罩(Mask)自动识别并裁剪出图像中的目标区域。该节点的核心功能是分析每张遮罩的非零像素区域,计算出对应的边界框(Bounding Box),并以此框选范围从原始图像中裁剪出对应的子图像。
节点功能
从技术实现上看,该节点接收IMAGE类型的原始图像和MASK类型的遮罩作为输入。它会遍历每一对图像和遮罩,通过遮罩中非零像素的坐标计算出最小外接矩形。该节点支持对边界框的尺寸进行平滑处理,通过bbox_smooth_alpha参数可以调整当前帧与历史帧边界框尺寸之间的混合程度,有助于在序列处理中获得更稳定的裁剪结果。计算出的边界框尺寸还会乘以crop_size_mult系数进行缩放,以灵活调整最终的裁剪区域大小。
节点参数说明 - Batch Crop From Mask
连接输入 (Inputs)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
original_images | IMAGE | 是 | - | - | **:输出的原始图像序列,与输入相同。类型为 IMAGE。 |
masks | MASK | 是 | - | - | **:输入遮罩序列,用于确定原始图像中需要裁剪的目标区域。遮罩中的非零像素区域将被计算为边界框。类型为 MASK。 |
控件参数 (Parameters)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
crop_size_mult | FLOAT | 是 | 1.0 | 0.0 - 10.0 (步长: 0.001) | **:裁剪尺寸乘数,用于缩放计算出的边界框大小。取值范围 0.0 至 10.0,步长 0.001。 |
bbox_smooth_alpha | FLOAT | 是 | 0.5 | 0.0 - 1.0 (步长: 0.01) | **:边界框平滑系数,用于混合当前帧与上一帧的边界框尺寸以实现平滑过渡。取值范围 0.0 至 1.0,步长 0.01。 |
Output 输出
| 参数名称 | 数据类型 | 说明 |
|---|---|---|
| original_images | IMAGE | **:输出的原始图像序列,与输入相同。类型为 IMAGE。 |
| cropped_images | IMAGE | **:输出的裁剪后图像序列。类型为 IMAGE。 |
| bboxes | BBOX | **:输出的边界框坐标序列,格式为 (x1, y1, x2, y2)。类型为 BBOX。 |
| width | INT | **:输出的裁剪后图像的统一宽度。类型为 INT。 |
| height | INT | **:输出的裁剪后图像的统一高度。类型为 INT。 |
使用场景
在实际工作流中,此节点常用于需要聚焦图像特定部分的场景。例如,在制作动画或处理视频序列时,你可以先使用一个遮罩生成节点(如 SAM 或 GroundingDino)识别出每帧中的主体对象,然后将生成的遮罩序列和原始图像序列连接至此节点。节点会输出裁剪后的图像序列以及对应的边界框坐标,这些输出可以进一步用于局部重绘、超分辨率或作为其他图像处理节点的输入。
Batch Crop From Mask 节点源码链接
Batch Crop From Mask 节点来自 ComfyUI-KJNodes 节点包。
评论
使用 GitHub 登录后即可参与讨论。