DeBayerフィルタ

DeBayerフィルタはRaw画像データをRGB画像に変換します。Rawカラー画像においては、3つの色情報を持つRGB画像とは違ってそれぞれのピクセルは一色の値しか持っていません。そこでこのフィルタが他の2つの色を補間することで実際の色を再現します。

DeBayerフィルタの使い方

以下のコードを使ってDeBayerフィルタをアプリケーションにロードすることができます。

// stdfilters.ftfモジュールからDeBayerフィルタをロードする
#ifdef _DEBUG         
    smart_com<IFrameFilter> pFilter = FilterLoader::createFilter( "DeBayer",   // フィルタ名
                                    "stdfiltersd.ftf" ); // モジュールファイル
#else
    smart_com<IFrameFilter> pFilter = FilterLoader::createFilter( "DeBayer",   // フィルタ名
                                    "stdfilters.ftf" ); // モジュールファイル
#endif

パラメータ

ディベイヤ処理を制御するのには2つのパラメータを使用します。

Start Pattern

Start PatternはRaw画像データにどのBayer配列をあてはめるかを定義します。
利用可能なスタートパターンは以下の通り

  • BG: 青/緑 ラインから始めるパターン。Start Patternを 0 にセットします
  • GB: 緑/青 ラインから始めるパターン。Start Patternを 1 にセットします
  • GR: 緑/赤 ラインから始めるパターン。Start Patternを 2 にセットします
  • RG: 青/緑 ラインから始めるパターン。Start Patternを 3 にセットします
Mode

ModeはDeBayer処理を行うアルゴリズムの選択をします。
利用可能なアルゴリズムは以下の通り

  • Nearest Color: シンプルで処理の速いアルゴリズムですが出力される画質はあまり良くはありません。Mode0にセットします
  • Bilinear: 処理が速く画質も良いアルゴリズムです。Mode1にセットします
  • Edge Sensing: 出力される画質は最高の物ですが処理は多少遅くなります。Mode2にセットします

プログラムで設定する場合は以下のコードで可能となります。

// 現在のmodeの取得.
long mode;
pFilter->getParameter( "Mode", mode );

// 新しいmodeの設定
mode = 1;
pFilter->setParameter( "Mode", mode );

プロパティダイアログ

標準のプロパティダイアログを使って全てのパラメータにアクセスが可能です。DeBayerフィルタのプロパティダイアログは以下のようになります。