マスク動画の結合 (CombineMasksVideo)
概要 (What is it?)
CombineMasksVideo ノードは、すべての入力マスク動画のピクセルごとの最大値(論理和 / Union 演算)を取ることで、複数のマスク動画を単一の統合マスク動画に結合します。再生時間の異なる動画が入力された場合でも、短い動画の末尾に黒フレームを自動パディングして同期を保ちます。
使用する場面 (When would I use it?)
以下のような場面でこのノードを使用します:
- 複数のマスク動画を 1 つの統合マスクにまとめたい場合
- 異なるソースやアルゴリズムから出力された複数のオブジェクトマスクを合成したい場合
- 複数のセグメンテーションモデルの出力を統合したい場合
- 複数のトラッキング結果から 1 つの複合マスク動画を作成したい場合
使い方 (How to use it)
基本セットアップ
- ワークフローに CombineMasksVideo ノードを追加します
- 結合したいマスク動画のソースをリストとして "mask_videos" 入力に接続します
- ワークフローを実行してマスクを結合します
パラメータ一覧 (Parameters)
- mask_videos: 結合するマスク動画のリスト(VideoArtifact および VideoUrlArtifact をサポート)
出力 (Outputs)
- combined_mask: 結合された単一のマスク動画(他のノードに接続可能)
動作原理 (How it works)
このノードはピクセルごとの最大値演算を用いてフレーム単位で動画を処理します:
- 各フレームは自動的にグレースケールに変換されます
- ピクセル座標ごとに、すべての入力マスクの中で最も大きな(明るい)値が選択されます
- いずれかの入力マスクで白かったピクセルは、出力マスクでも白(不透明)として合成されます
- 入力動画間で尺(再生時間)が異なる場合、最も長い動画に合わせて短い動画には黒フレーム(透明)が自動的にパディング補完されます
フレーム処理中は進捗バー(0〜90%: フレーム処理、90〜100%: 動画再構築)で状況を確認できます。
使用例 (Example)
異なる物体をトラッキングした 2 つのマスク動画を統合する例:
- 2 つのマスク動画をリストとして mask_videos 入力に接続します
- ワークフローを実行します
- いずれかのマスクで白かった領域がすべて白として描画された統合マスク動画が出力されます
重要な注意点 (Important Notes)
- CombineMasksVideo ノードは動画処理に FFmpeg を使用しています
- すべての入力マスクは処理中に自動的にグレースケールに統一されます
- 出力動画の解像度は、リストの最初の入力動画の解像度と一致します
- 再生時間の異なる動画も黒フレームのパディングにより自動調整されます
- 出力動画のフレームレートは最初の動画のフレームレートが基準となります