Operator Library: Base
オペレーター ConvertPixelFormat は、Arithmetic と Bit Width が希望の出力 Pixel Format に調整される一方で、可能な限り多くの情報を保持しようとします。 そのため、このオペレーターでは、出力リンクでの Bit Width と Arithmetic の定義が可能です。
アルゴリズムの基本原則は2つあります。
-
クリッピングによる 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 | ||
|---|---|---|---|---|---|---|---|---|
| 10進数 | 2進法 | 10進数 | 2進法 | |||||
| 4 | 5 | unsigned | unsigned | 10 | 1010 | 20 | 10100 | value * 2 |
| 5 | 4 | unsigned | unsigned | 15 | 1111 | 8 | 1000 | value を 2 で割って丸め処理 |
| 5 | 4 | unsigned | unsigned | 31 | 11111 | 15 | 1111 | 最大値にクリッピングされた value |
| 4 | 4 | unsigned | signed | 11 | 1011 | 6 | 0100 | value を 2 で割って丸め処理 |
| 4 | 4 | signed | unsigned | 4 | 0100 | 8 | 1000 | value * 2 |
| 5 | 4 | signed | unsigned | 10 | 01010 | 10 | 1010 | 保持された value |
| 5 | 4 | signed | unsigned | -2 | 11110 | 0 | 0000 | 0 にクリッピングされた value |
| 5 | 4 | signed | signed | -7 | 11001 | -4 | 1100 | value を 2 で割って丸め処理 |
表 34. 例
カラーリンクの場合、各カラーコンポーネントは個別に処理されます。
オペレーター ConvertPixelFormat の使用方法は、以下の例に示されています。
-
図 204 「16 ビット出力用に追加された ConvertPixelFormat オペレーター」
基本ガイド - ConvertPiyelFormat を使用して DMA の Bit Width を変更します。
-
Examples - この例は、3x3 フィルターを使用した Bayer RAW パターンのデモザイキングを示しています。
-
例 - この例は、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'
例 - この例は、例えば racer 2 L カメラなどの、BiColorRGBG、BiColorGRGB、BiColorBGRG、BiColorGBGR の BiColor Bayer パターンを持つ CXP-12 ラインスキャンカメラの 8 ビット Bayer RAW パターンのデモザイキングを示しています。さらに、この例にはラインスキャントリガーモジュールとホワイトバランスモジュールが含まれています。
-
'Bayer Demosaicing a Line Scan Camera with 10 Bit BiColor Bayer Pattern'
例 - この例は、例えば racer 2 L カメラなどの、BiColorRGBG、BiColorGRGB、BiColorBGRG、BiColorGBGR の BiColor Bayer パターンを持つ CXP-12 ラインスキャンカメラの 10 ビット Bayer RAW パターンのデモザイキングを示しています。さらに、この例にはラインスキャントリガーモジュールとホワイトバランスモジュールが含まれています。
-
'Bayer Demosaicing a Line Scan Camera with 12 Bit BiColor Bayer Pattern'
例 - この例は、例えば racer 2 L カメラなどの、BiColorRGBG、BiColorGRGB、BiColorBGRG、BiColorGBGR の BiColor Bayer パターンを持つ CXP-12 ラインスキャンカメラの 10 ビット Bayer RAW パターンのデモザイキングを示しています。さらに、この例にはラインスキャントリガーモジュールとホワイトバランスモジュールが含まれています。
-
'Co-Processor Large Filter Calculation'
例 - imaFlex プラットフォームのコプロセッサー機能を示しています。 例として、大きなフィルターカーネルが計算されます。
-
例 - この例は、画像フレームの開始および終了に対する信号およびイベントの生成を示しています。
-
例 - 画像ストリームを分割および統合する方法を示します。画像にトレーラーを追加します。
-
使用例 - このサンプルは、2D Shading Correction の実装を示しています。 補正値はフレームグラバーの RAM に保存されます。 アプレットは、高精度なオフセットおよびゲイン補正を実行します。
-
'1D Shading Correction Using Block RAM'
使用例 - このサンプルは、1D Shading Correction の実装を示しています。 補正値はブロック RAM メモリに保存されます。
-
'1D Shading Correction Using Frame Grabber RAM'
使用例 - このサンプルは、1D Shading Correction の実装を示しています。 補正値はフレームグラバー RAM に保存されます。
-
imaFlex CXP-12 Quad プラットフォーム上の DMAFromPC オペレータの例
例 - Shading Correction の例を用いたオペレータの使用方法のデモ



前へ

