Operator Library: Base
Operator ConvertPixelFormat 會盡可能保留最多資訊,同時將 Arithmetic 與 Bit Width 調整為所需的輸出 Pixel Format。 因此,該 operator 允許在輸出 link 上定義 Bit Width 與 Arithmetic。
該演算法的主要原則包含兩個部分:
-
透過裁切來更改 Arithmetic
- unsigned 轉 signed:輸出端的 MSB 會被用作正負號位元
- signed 轉 unsigned:將數值裁切至正數範圍,亦即若數值小於 0 則設為零
-
在保持相對亮度的同時更改 Bit Width
- 如果增加了輸出 Bit Width,數值會向左位移以符合所需的 Bit Width
- 如果減少了輸出 Bit Width,數值會被除以特定倍數並四捨五入以符合所需的 Bit Width
因此,輸出數值可以透過以下方式決定:
| Input Bit Width | Output Bit Width | Input Arithmetic | Output Arithmetic | Input Value | 輸出值 | Comment | ||
|---|---|---|---|---|---|---|---|---|
| Decimal | Binary | Decimal | Binary | |||||
| 4 | 5 | unsigned | unsigned | 10 | 1010 | 20 | 10100 | value * 2 |
| 5 | 4 | unsigned | unsigned | 15 | 1111 | 8 | 1000 | value divided by 2 and rounded |
| 5 | 4 | unsigned | unsigned | 31 | 11111 | 15 | 1111 | value clipped to maximum |
| 4 | 4 | unsigned | signed | 11 | 1011 | 6 | 0100 | value divided by 2 and rounded |
| 4 | 4 | signed | unsigned | 4 | 0100 | 8 | 1000 | value * 2 |
| 5 | 4 | signed | unsigned | 10 | 01010 | 10 | 1010 | value kept |
| 5 | 4 | signed | unsigned | -2 | 11110 | 0 | 0000 | 數值會被截斷至 0 |
| 5 | 4 | signed | signed | -7 | 11001 | -4 | 1100 | value divided by 2 and rounded |
表 34. 範例
對於色彩連線,每個色彩分量都會被個別處理。
以下範例展示了 ConvertPixelFormat 運算子的使用方式:
-
圖 204,「為 16Bit 輸出新增的 ConvertPixelFormat 運算子」
基本指南 - 使用 ConvertPiyelFormat 來變更 DMA Bit Width。
-
範例 - 此範例展示使用 3x3 濾波器進行 Bayer RAW 模式的去馬賽克(demosaicing)。
-
範例 - 此範例展示使用 5x5 濾波器進行 Bayer RAW 模式的去馬賽克。
-
「Bayer 3x3 Demosacing with White Balancing」
範例 - 此範例展示使用 3x3 濾波器進行 Bayer RAW 模式的去馬賽克。 此外,還加入了用於色彩校正的白平衡。
-
「Bayer 5x5 Demosacing with White Balancing」
範例 - 此範例展示使用 5x5 濾波器進行 Bayer RAW 模式的去馬賽克。 此外,還加入了用於色彩校正的白平衡。
-
範例 - 此範例展示具有色彩模式 Red/BlueFollowedByGreen_GreenFollowedByBlue/Red 的雙線性線掃描相機之 Bayer RAW 模式去馬賽克
-
範例 - 此範例顯示具備 Red/BlueFollowedByBlue/Red_GreenFollowedByGreen 彩色圖樣的雙線性線型掃描相機之 Bayer RAW 圖樣去邊緣化處理
-
'Bayer Demosaicing a Line Scan Camera with 8 Bit BiColor Bayer Pattern'
範例 - 此範例顯示採用 BiColor Bayer 圖樣(例如 BiColorRGBG、BiColorGRGB、BiColorBGRG 與 BiColorGBGR,適用於 racer 2 L 相機等)之 CXP-12 線型掃描相機的 8 位元 Bayer RAW 圖樣去邊緣化處理。此外,該範例還包含一個線型掃描觸發模組以及一個白平衡模組。
-
'Bayer Demosaicing a Line Scan Camera with 10 Bit BiColor Bayer Pattern'
範例 - 此範例顯示採用 BiColor Bayer 圖樣(例如 BiColorRGBG、BiColorGRGB、BiColorBGRG 與 BiColorGBGR,適用於 racer 2 L 相機等)之 CXP-12 線型掃描相機的 10 位元 Bayer RAW 圖樣去邊緣化處理。此外,該範例還包含一個線型掃描觸發模組以及一個白平衡模組。
-
'Bayer Demosaicing a Line Scan Camera with 12 Bit BiColor Bayer Pattern'
範例 - 此範例顯示採用 BiColor Bayer 圖樣(例如 BiColorRGBG、BiColorGRGB、BiColorBGRG 與 BiColorGBGR,適用於 racer 2 L 相機等)之 CXP-12 線型掃描相機的 10 位元 Bayer RAW 圖樣去邊緣化處理。此外,該範例還包含一個線型掃描觸發模組以及一個白平衡模組。
-
"Co-Processor Large Filter Calculation"
範例 - 顯示 imaFlex 平台的協同處理器功能。 作為範例,此處計算了一個大型濾鏡核心。
-
「Image Received: Event Generation and General Purpose Output (GPO)」
範例 - 此範例顯示了影像影格開始與結束的訊號及事件產生。
-
範例 - 展示如何分割與合併影像串流。並在影像附加尾碼。
-
範例 - 此範例展示了 2D Shading Correction 的實作。 校正值會儲存在畫面擷取卡 RAM 中。 該 Applet 會執行高精度的偏移與增益校正。
-
「使用 Block RAM 的 1D Shading Correction」
範例 - 此範例展示了 1D Shading Correction。 校正值會儲存在 block RAM memory 中。
-
'1D Shading Correction Using Frame Grabber RAM'
範例 - 此範例展示了 1D Shading Correction。 校正值會儲存在畫面擷取卡 RAM 中。
-
「imaFlex CXP-12 Quad Platform 上的 DMAFromPC 運算子範例」
範例 - 以 Shading Correction 為例示範如何使用此運算子



上一頁

