Operator ColorTransform

Operator Library: Color

ColorTransform 運算子會將輸入端的 RGB 資料流轉換為具有加權分量的 RGB 資料流。 此轉換是透過將輸入的 RGB 向量與 3x3 矩陣相乘來實現的。

變換矩陣由參數「Coefficients」定義。 此參數是一個包含雙精度係數的 3×3 矩陣。 以下公式表示變換演算法。

計算時採用固定點精度值。 「精度」與「解析度」參數用以指定乘法的精度。

  • 「精確度」指用於編碼係數的位元數。

  • 解析度定義了係數的小數位數。

舉例來說,若精度為 8 位元、解析度為 6 位元,則係數的範圍將落在 .

若輸入連結為有符號,或欄位參數「係數」設定為「靜態」,則允許係數採用有符號值。 當欄位參數「係數」設定為「動態」(即轉換係數可在執行期間變更)時,輸出連結始終為有符號。 其中一位精確度位元將用作符號位元。

此處提供矩陣乘法的計算結果。 結果已四捨五入至最接近的整數。 輸出位元寬度會根據輸入位元寬度及參數設定自動決定。

[注意] 減少靜態參數的資源消耗

若將參數「Coefficients」設定為「static」,該運算子所需的 FPGA 資源便會較少。

I/O Properties

Property Value
Operator Type O
Input Link I,影像資料輸入
Output Link O,影像資料輸入

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [3, 54] 無符號,[6, 54] 有符號 auto1
Arithmetic {unsigned, signed} auto
Parallelism any as I
Kernel Columns 1 as I
Kernel Rows 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format VAF_COLOR as I
Color Flavor FL_RGB as I
Max. Img Width any as I
Max. Img Height any as I

1

輸出位元寬度會根據輸入位元寬度及參數設定自動決定。

Parameters

解析度
Type 靜態參數
Default 8
Range auto

定義係數的小數位數。 其範圍取決於輸入位寬及參數 Precision 的值。請注意以下限制:

解析度 > 0

精度 > 解析度

Precision + Resolution <= 32

精確度
Type 靜態參數
Default 16
Range auto

定義用於編碼整個係數所需的位元數——包含解析度位元與符號位元。 其範圍取決於輸入位元寬度及參數 Precision 的值。請注意以下限制:

解析度 > 0

精度 > 解析度

Precision + Resolution <= 32

Coefficients
Type 動態/靜態讀寫參數
Default 單位矩陣
Range 所有係數均為無符號: 任何帶符號的係數:

以單位變換初始化的係數矩陣。 運算子將矩陣中的所有係數視為帶符號數。這些係數為雙精度數。

Examples of Use

以下範例展示了 ColorTransform 運算子的使用方式: