跳轉至

CombineMasksVideo

功能概述

CombineMasksVideo 節點透過計算所有輸入視訊中每個像素的逐像素最大值 (Pixel-wise Maximum),將多條遮罩視訊合併拼接為單一完整的複合遮罩視訊。對於長度時長不一致的視訊,節點會自動為較短的影片填充黑畫面畫格以對齊時長。

適用情境

在以下情況使用 CombineMasksVideo 節點:

  • 將多個不同的遮罩視訊整合成單一遮罩
  • 將來自不同追蹤來源或演算法的多個物體遮罩進行聯集 (Union) 疊加
  • 統整處理多個語意分割 (Segmentation) 產生的視訊遮罩
  • 將多個目標追蹤軌跡整合為單一合成選區

使用方式說明

基礎設定步驟

  1. 將 CombineMasksVideo 節點新增至工作流程中
  2. 將多個遮罩視訊來源連線至 "mask_videos" 輸入埠(接收清單形式的多條視訊)
  3. 執行工作流程以運算合併遮罩

參數說明

  • mask_videos:欲合併的遮罩視訊清單(相容 VideoArtifact 與 VideoUrlArtifact 格式)

輸出埠說明

  • combined_mask:合併運算完成的複合遮罩視訊產物,可供後續節點引用

運作原理解析

節點採用逐畫格 (Frame-by-frame) 處理機制,執行逐像素最大值邏輯:

  • 每一畫格會先統一轉換為單通道灰階(若尚未為灰階格式)
  • 針對畫格中的每個像素座標,選取所有輸入遮罩當中的最大數值
  • 產生的最終遮罩代表:只要任何輸入遮罩中該位置為白(255),輸出畫格該處即呈現為白
  • 若各輸入視訊長度不一,較短的影片將自動以純黑畫格 (0) 補齊,以對齊最長視訊的總時長

進度指示器會即時呈現運算狀態(0-90% 為畫格逐格計算,90-100% 為視訊封裝編碼)。

範例展示

合併分別追蹤前景人物與移動車輛的兩條遮罩視訊:

  1. 將兩條遮罩視訊共同連線至 mask_videos 輸入埠
  2. 執行工作流程
  3. 輸出遮罩將完整包含兩個目標物體的聯集白色選區,背景環境維持全黑

重要注意事項

  • CombineMasksVideo 節點核心依賴 FFmpeg 進行底層畫格編解碼與合成處理。
  • 運算過程中所有輸入遮罩畫格皆會自動轉換為標準單通道灰階陣列。
  • 解析度對齊規則:輸出視訊的解析度以第一條輸入視訊 (First input video) 的尺寸為準。
  • 自動透過黑色畫格填充完美解決多段視訊時長不對等的相容性問題。
  • 輸出視訊一律嚴格維持第一條基準視訊的原生畫格率 (FPS)。
  • 支援輸出詳細的處理日誌以供除錯與效能診斷。