低レベル関数
[ベイヤー色合成]


関数

INT FVALGAPI fnFIE_bayer_calc_cfa_type (FHANDLE hsrc, enum f_cfa_type camera_cfa_type, enum f_cfa_type *image_cfa_type)
 Bayer Color Filter Array type estimation 画像に適用すべきCFA type(カラーフィルタの配列)を推定します。
INT FVALGAPI fnFIE_bayer_interpolation_bilinear (const FHANDLE hsrc, FHANDLE hdst, enum f_cfa_type cfa_type, DOUBLE gain[3], DOUBLE offset[3])
 Bayer Color Filter Array Interpolation ( Bayer color demosaicking ) bilinear 線形補間によるベイヤー色合成を行います。
INT FVALGAPI fnFIE_bayer_interpolation_cubic (const FHANDLE hsrc, FHANDLE hdst, enum f_cfa_type cfa_type, DOUBLE gain[3], DOUBLE offset[3])
 Bayer Color Filter Array Interpolation ( Bayer color demosaicking ) cubic 三次補間によるベイヤー色合成を行います。
INT FVALGAPI fnFIE_bayer_interpolation_easy (const FHANDLE hsrc, FHANDLE hdst, enum f_cfa_type cfa_type, DOUBLE gain[3], DOUBLE offset[3])
 簡易ベイヤー色合成 CFAの2x2領域を一画素分のセンサと解釈した簡易ベイヤー色合成を行います。

関数

INT FVALGAPI fnFIE_bayer_calc_cfa_type ( FHANDLE  hsrc,
enum f_cfa_type  camera_cfa_type,
enum f_cfa_type image_cfa_type 
)

Bayer Color Filter Array type estimation 画像に適用すべきCFA type(カラーフィルタの配列)を推定します。

ベイヤー色合成を行いたい画像が撮像したままのルート画像であれば、画像のCFA typeはカメラ仕様と同一です。 hsrc がチャイルド画像である場合、ルート画像に対してx座標y座標いずれも偶数ピクセルから始まっていればルート画像とCFA typeが等しくなり、カメラ仕様と同一になります。 そうでない場合はカメラ仕様と異なるため、適切に設定する必要があります。 当関数ではカメラのBayer CFA仕様(つまりルート画像のCFA type)とチャイルド画像の画像オブジェクトから、チャイルド画像のCFA typeを算出します。 画像オブジェクトがルート画像だった場合、与えたCFA typeをそのまま返します。

引数:
[in] hsrc 画像オブジェクト Bayer CFA image
[in] camera_cfa_type カメラのカラーフィルタ配列タイプ
  • F_CFA_BGGR
  • F_CFA_GBRG
  • F_CFA_RGGB
  • F_CFA_GRBG
[out] image_cfa_type 画像オブジェクトのカラーフィルタ配列タイプ
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 画像オブジェクト異常
  • 画像オブジェクトがNULL
  • 画像オブジェクトの画像タイプが異なる
F_ERR_INVALID_PARAM パラメータ異常
  • image_cfa_type がNULL
  • カラーフィルタ配列タイプ異常
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_bayer_interpolation_bilinear ( const FHANDLE  hsrc,
FHANDLE  hdst,
enum f_cfa_type  cfa_type,
DOUBLE  gain[3],
DOUBLE  offset[3] 
)

Bayer Color Filter Array Interpolation ( Bayer color demosaicking ) bilinear 線形補間によるベイヤー色合成を行います。

入出力の画像型、画像サイズは同じである必要があります。また、幅と高さは偶数でなければなりません。 入力画像でホワイトバランスがとれていないときのためにゲインとオフセットを指定することができます。 色合成の結果に対し、ゲインを乗算しオフセットを加算した後画像型に応じてサチュレーション処理を行って出力します。

cfa_typeは hsrc の左上ピクセルを基準に指定します。 hsrc がチャイルド画像である場合、ルート画像に対してx座標y座標いずれも偶数ピクセルから始まっていればルート画像と cfa_type が等しくなり、カメラ仕様と同一になります。 そうでない場合、cfa_type が異なるので適切に設定してください。 fnFIE_bayer_calc_cfa_type() で算出することもできます。

なお、線形補間によるベイヤー色合成では出力画像の周囲1画素は出力されません。元の画素値が保持されます。

引数:
[in] hsrc 入力画像 Bayer CFA 1ch RAW (type:uc8,s16,us16,double / ch:1)
[out] hdst 出力画像 3ch layerd color (type:uc8,s16,us16,double / ch:3)
[in] cfa_type Bayer color filter arrayの配列タイプ
  • F_CFA_BGGR
  • F_CFA_GBRG
  • F_CFA_RGGB
  • F_CFA_GRBG
[in] gain 赤、緑、青のゲイン:通常は全て1.0倍を指定する
[in] offset 赤、緑、青のオフセット:通常は全て0.0を指定する
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_PARAM パラメータ異常
  • cfa_type が異常
  • ゲイン、オフセットがNULL
F_ERR_INVALID_IMAGE 画像オブジェクト異常
  • 画像オブジェクトがNULL
  • 入力画像のチャネルが1ではない
  • 出力画像のチャネルが3ではない
  • 入出力の画像サイズが異なる
  • 入出力の画像タイプが異なる
  • 画像の縦横幅が2の倍数ではない
F_ERR_NOMEMORY メモリ不足で作業用画像が生成できない
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参考文献:
  • Bayer, B.E., "Color imaging array", United States Patent 3,971,065, 1976
  • デジタル画像における色再現技術と官能・定量評価 pp.197 (技術情報協会) isbn:4-86104-066-3 C3058

INT FVALGAPI fnFIE_bayer_interpolation_cubic ( const FHANDLE  hsrc,
FHANDLE  hdst,
enum f_cfa_type  cfa_type,
DOUBLE  gain[3],
DOUBLE  offset[3] 
)

Bayer Color Filter Array Interpolation ( Bayer color demosaicking ) cubic 三次補間によるベイヤー色合成を行います。

入出力の画像型、画像サイズは同じである必要があります。また、幅と高さは偶数でなければなりません。 入力画像でホワイトバランスがとれていないときのためにゲインとオフセットを指定することができます。 色合成の結果に対し、ゲインを乗算しオフセットを加算した後画像型に応じてサチュレーション処理を行って出力します。

cfa_typeは hsrc の左上ピクセルを基準に指定します。 hsrc がチャイルド画像である場合、ルート画像に対してx座標y座標いずれも偶数ピクセルから始まっていればルート画像と cfa_type が等しくなり、カメラ仕様と同一になります。 そうでない場合、cfa_type が異なるので適切に設定してください。 fnFIE_bayer_calc_cfa_type() で算出することもできます。

なお、三次補間によるベイヤー色合成では出力画像の周囲3画素は出力されません。元の画素値が保持されます。

引数:
[in] hsrc 入力画像 Bayer CFA 1ch RAW (type:uc8,s16,us16,double / ch:1)
[out] hdst 出力画像 3ch layerd color (type:uc8,s16,us16,double / ch:3)
[in] cfa_type Bayer color filter arrayの配列タイプ
  • F_CFA_BGGR
  • F_CFA_GBRG
  • F_CFA_RGGB
  • F_CFA_GRBG
[in] gain 赤、緑、青のゲイン:通常は全て1.0倍を指定する
[in] offset 赤、緑、青のオフセット:通常は全て0.0を指定する
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_PARAM パラメータ異常
  • cfa_type が異常
  • ゲイン、オフセットがNULL
F_ERR_INVALID_IMAGE 画像オブジェクト異常
  • 画像オブジェクトがNULL
  • 入力画像のチャネルが1ではない
  • 出力画像のチャネルが3ではない
  • 入出力の画像サイズが異なる
  • 入出力の画像タイプが異なる
  • 画像の縦横幅が2の倍数ではない
F_ERR_NOMEMORY メモリ不足で作業用画像が生成できない
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
参考文献:
  • Bayer, B.E., "Color imaging array", United States Patent 3,971,065, 1976
  • デジタル画像における色再現技術と官能・定量評価 pp.197 (技術情報協会) isbn:4-86104-066-3 C3058

INT FVALGAPI fnFIE_bayer_interpolation_easy ( const FHANDLE  hsrc,
FHANDLE  hdst,
enum f_cfa_type  cfa_type,
DOUBLE  gain[3],
DOUBLE  offset[3] 
)

簡易ベイヤー色合成 CFAの2x2領域を一画素分のセンサと解釈した簡易ベイヤー色合成を行います。

簡易ベイヤー色合成は他の手法と比べて高速に処理できる反面、縦横の画素数が半分になる、画像全体にわたって各チャネルで別々の方向へ $\frac{\sqrt{2}}{4}$ 画素の位置ずれを起こすという制限があります。

入力画像でホワイトバランスがとれていないときのためにゲインとオフセットを指定することができます。 色合成の結果に対し、ゲインを乗算しオフセットを加算した後、画像型に応じてサチュレーション処理を行って出力します。 入出力の画像型、画像サイズは同じである必要があります。また、入力画像の幅と高さは偶数でなければなりません。出力画像の画像サイズ幅と高さはいずれも入力の半分である必要があります。

cfa_typeは hsrc の左上ピクセルを基準に指定します。 hsrc がチャイルド画像である場合、ルート画像に対してx座標y座標いずれも偶数ピクセルから始まっていればルート画像と cfa_type が等しくなり、カメラ仕様と同一になります。 そうでない場合、cfa_type が異なるので適切に設定してください。 fnFIE_bayer_calc_cfa_type() で算出することもできます。

引数:
[in] hsrc 入力画像 Bayer CFA 1ch RAW (type:uc8,s16,us16,double / ch:1)
[out] hdst 出力画像 3ch layerd color (type:uc8,s16,us16,double / ch:3)
[in] cfa_type Bayer color filter arrayの配列タイプ
  • F_CFA_RGGB
  • F_CFA_GRBG
  • F_CFA_GBRG
  • F_CFA_BGGR
[in] gain 赤、緑、青のゲイン:通常は全て1.0
[in] offset 赤、緑、青のオフセット:通常は全て0.0
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_PARAM パラメータ異常
  • cfa_type が異常
  • ゲイン、オフセットがNULL
F_ERR_INVALID_IMAGE 画像オブジェクト異常
  • 画像オブジェクトがNULL
  • 入力画像のチャネルが1ではない
  • 出力画像のチャネルが3ではない
  • 出力画像サイズが入力画像サイズの縦横半分ではない
  • 入出力の画像サイズが異なる
  • 入出力の画像タイプが異なる
  • 画像の縦横幅が2の倍数ではない
F_ERR_NOMEMORY メモリ不足で作業用画像が生成できない
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー


Documentation copyright © 2009-2023 FAST Corporation.
Generated on Sat Oct 28 09:27:57 2023 for FIEライブラリ by doxygen 1.5.6-FASTSP-p2