| 簡要說明 | |
|---|---|
|
檔案: \examples\Processing\Loop\RollingAverage\rollingAverage_Loop.vad |
|
|
Default Platform: imaFlex CXP-12 Quad |
|
|
短說明 在執行中的影像串流上實作移動平均,且不會引入任何畫面延遲。 系統會計算最近 N 張單色影像的平均值,並用於以色彩將所得差值視覺化並與目前影像進行對比。 用於建立平均值的影像數量預設為 128,但可以修改。 |
|
此設計將展示移動平均的運作方式。 不過,核心元素是一個迴圈,它能支援更多應用和機器視覺運算。 為了理解迴圈的運作方式及其實作方法,這個範例是一個絕佳的起點。
系統會計算每個單一像素的平均值,並將其正規化至 8 bit 的輸入值範圍。 為此,每一個接收到的影格都會與其前置影格相加,並除以接收到的影格數量。 若達到移動平均序列的長度,總和就會減去已儲存且延遲的影格。 藉此,從第一張影像開始就會產生輸出影像。
在此設計中,兩個條件決定了移動平均序列的長度。 兩個數值皆稱為 N_rolling,且必須設定為相同的值。 其中一個處理減法影像的延遲儲存程序,另一個則處理像素值正規化。
RxImageLink 和 TxImageLink 運算子可用於啟用迴圈處理。 輸入影像序列未正規化的平均總和會在一個迴圈中處理。 需要第二個迴圈處理來儲存輸入影格,以便稍后減去其數值。 每個迴圈都必須與輸入的相機影格保持同步。 這會觸發一個 SYNC 運算子,其中必須滿足啟動條件。 啟動條件本身由 InsertImage 處理,其中首次執行會引入單一的最小影格。 所使用的 SYNC 會將影格尺寸最大化至所需的值。
由於平均處理需要儲存一定數量的影格,因此使用了 ImageBufferMultiRoiDyn 運算子。 前幾張影像僅被儲存,同時透過產生最小影格來滿足同步目的。
使用 VA 模擬將有助於詳細了解此功能如何圍繞 SYNC 運作。 一般而言,一系列的人工最小影格會執行同步。
實作了兩種不同的視覺化方式。第一種將產生一個 24 bit 的 RGB 影像,其中:
- 平面 - 內容
- 紅色 (RED) - 目前影像
- 綠色 (GREEN) - 平均影像
- 藍色 (BLUE) - 差值影像
第二種方法基於 HSL 色彩空間,該空間隨後會轉換為 24bit RGB:
- 平面 - 內容
- HUE / 色相角度 - 差值影像,其中最小值為綠色
- SATURATION (飽和度) - 設定為最大值
- LIGHTNESS (亮度) - 目前影像
第二種方法透過 EffectEnable = 1 開啟。 動態增益因數可用於所有 Hue 色相角度的差值 Scaling。

上一頁

