Batch Crop From Mask Advanced(BatchCropFromMaskAdvanced)
このノードは画像(IMAGE)とマスク(MASK)を入力として受け取り、マスク内の非ゼロピクセルの境界を計算することでクロップ領域を決定します。
Batch Crop From Mask Advanced
Batch Crop From Mask Advanced ノードは画像(IMAGE)とマスク(MASK)を入力として受け取り、マスク内の非ゼロピクセルのバウンディングボックスを計算してトリミング領域を決定します。
Batch Crop From Mask Advanced は、提供されたマスクに基づいて元画像内の対象領域を自動的に識別し、バッチでトリミングする高度な画像トリミングノードです。その中核機能は、一連の画像からマスクによって定義された関心領域を正確に抽出し、トリミング後の画像とマスク、および関連するバウンディングボックス情報を出力することです。
ノード機能
このノードは画像(IMAGE)とマスク(MASK)を入力として受け取り、マスク内の非ゼロピクセルのバウンディングボックスを計算してトリミング領域を決定します。バッチ処理をサポートし、バウンディングボックス平滑化メカニズムを実装しています。bbox_smooth_alpha パラメータは、現在のフレームと前のフレームのバウンディングボックスの位置とサイズの遷移の滑らかさを調整します。これはビデオや画像シーケンスを処理する際のトリミングの安定性を維持するのに特に便利です。さらに、crop_size_mult パラメータを使用することで、ユーザーはトリミング領域を比例的に拡大し、対象オブジェクトが完全に含まれるようにできます。
ノードパラメータ説明 - Batch Crop From Mask Advanced
接続入力 (Inputs)
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
original_images | IMAGE | はい | - | - | original_images(入力パラメータ): 対象領域をトリミングする元の画像。これらは変更されずに出力に渡されます。 |
masks | MASK | はい | - | - | masks(入力パラメータ): 元画像に対応するマスクシーケンスを入力します。各画像でトリミングする対象領域を定義するために使用します。 |
コントロールパラメータ (Parameters)
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
crop_size_mult | FLOAT | はい | 1.0 | 0.0 - 10.0 (ステップ: 0.01) | crop_size_mult(入力パラメータ): トリミングサイズ乗数。マスクから計算された元のバウンディングボックスを比例的に拡大するために使用します。範囲 0.0~10.0、ステップ 0.01。 |
bbox_smooth_alpha | FLOAT | はい | 0.5 | 0.0 - 1.0 (ステップ: 0.01) | bbox_smooth_alpha(入力パラメータ): バウンディングボックス平滑化係数。連続する画像フレーム間でのバウンディングボックスの位置やサイズの変化を平滑化するために使用します。範囲 0.0~1.0、ステップ 0.01。 |
出力 (Outputs)
| パラメータ名 | データ型 | 説明 |
|---|---|---|
| original_images | IMAGE | original_images(出力パラメータ): 入力された元画像をそのまま出力します。ワークフローの連結に便利です。 |
| cropped_images | IMAGE | cropped_images(出力パラメータ): 各マスクに基づいてトリミングされた画像を出力します。 |
| cropped_masks | MASK | cropped_masks(出力パラメータ): 同じ領域でトリミングされたマスク。 |
| combined_crop_image | IMAGE | combined_crop_image(出力パラメータ): すべてのトリミング画像を連結して1枚の画像として出力します。 |
| combined_crop_masks | MASK | combined_crop_masks(出力パラメータ): すべてのトリミングマスクを連結して1枚のマスクとして出力します。 |
| bboxes | BBOX | bboxes(出力パラメータ): 各入力画像に対して計算されたバウンディングボックス座標のリストを出力します。 |
| combined_bounding_box | BBOX | combined_bounding_box(出力パラメータ): すべての個別バウンディングボックスを囲む全体のバウンディングボックスを出力します。 |
| bbox_width | INT | bbox_width(出力パラメータ): combined_bounding_box の幅の値を出力します。 |
| bbox_height | INT | bbox_height(出力パラメータ): combined_bounding_box の高さの値を出力します。 |
使用シナリオ
実際のアプリケーションでは、このノードは一連の画像から特定のオブジェクトを抽出し、後続処理を行う必要があるワークフローでよく使用されます。例えば、キャラクターアニメーションや製品展示を作成する際、まずセグメンテーションモデルを使用して対象オブジェクトのマスクを生成し、その後元画像とマスクをこのノードに入力することで、そのオブジェクトのみを含むサイズが統一されたトリミング画像のセットを取得できます。これらの画像は、他のノードに送って再描画、スタイル変換、合成を行うのに便利です。
注意事項
入力する画像とマスクのバッチサイズは一致している必要があります。マスクが完全に空(非ゼロピクセルがない)の場合、ノードは空のトリミング領域を返します。平滑化パラメータは、連続フレーム(ビデオなど)を処理する場合にのみ効果が顕著であり、単一の画像や順序のない画像に対してはその効果は限定的です。
Batch Crop From Mask Advanced ノードソースコードリンク
Batch Crop From Mask Advanced ノードは ComfyUI-KJNodes ノードパッケージに含まれています。
コメント
GitHubでサインインしてディスカッションに参加しましょう。