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_imagesIMAGE--**:输出的原始图像序列,与输入相同。类型为 IMAGE。
masksMASK--**:输入遮罩序列,用于确定原始图像中需要裁剪的目标区域。遮罩中的非零像素区域将被计算为边界框。类型为 MASK。

控件参数 (Parameters)

参数名称数据类型必填默认值取值范围/选项说明
crop_size_multFLOAT1.00.0 - 10.0 (步长: 0.001)**:裁剪尺寸乘数,用于缩放计算出的边界框大小。取值范围 0.0 至 10.0,步长 0.001。
bbox_smooth_alphaFLOAT0.50.0 - 1.0 (步长: 0.01)**:边界框平滑系数,用于混合当前帧与上一帧的边界框尺寸以实现平滑过渡。取值范围 0.0 至 1.0,步长 0.01。

Output 输出

参数名称数据类型说明
original_imagesIMAGE**:输出的原始图像序列,与输入相同。类型为 IMAGE。
cropped_imagesIMAGE**:输出的裁剪后图像序列。类型为 IMAGE。
bboxesBBOX**:输出的边界框坐标序列,格式为 (x1, y1, x2, y2)。类型为 BBOX。
widthINT**:输出的裁剪后图像的统一宽度。类型为 INT。
heightINT**:输出的裁剪后图像的统一高度。类型为 INT。

使用场景

在实际工作流中,此节点常用于需要聚焦图像特定部分的场景。例如,在制作动画或处理视频序列时,你可以先使用一个遮罩生成节点(如 SAM 或 GroundingDino)识别出每帧中的主体对象,然后将生成的遮罩序列和原始图像序列连接至此节点。节点会输出裁剪后的图像序列以及对应的边界框坐标,这些输出可以进一步用于局部重绘、超分辨率或作为其他图像处理节点的输入。

Batch Crop From Mask 节点源码链接

Batch Crop From Mask 节点来自 ComfyUI-KJNodes 节点包。

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…