2 値化 / セグメンテーション
[画像フィルタ]


関数

INT FVALGAPI fnFGA_binarize (FHANDLE hsrc, FHANDLE hdst, DOUBLE threshold)
 固定しきい値による 2 値化.
INT FVALGAPI fnFGA_band_threshold (FHANDLE hsrc, FHANDLE hdst, DOUBLE tlow, DOUBLE thigh)
 二つの固定しきい値を用いて 2 値化.
INT FVALGAPI fnFGA_niblack_threshold (FHANDLE hSrc, FHANDLE hDst, INT iH, INT iV, DOUBLE dK, INT iBrdMod)
 局所平均値と標準偏差を用いてNiblack法による画像2値化.
INT FVALGAPI fnFGA_sauvola_threshold (FHANDLE hSrc, FHANDLE hDst, INT iH, INT iV, DOUBLE dK, DOUBLE dR, INT iBrdMod)
 局所平均値と標準偏差を用いてSauvola法による画像2値化.
INT FVALGAPI fnFGA_shift_avr_threshold (FHANDLE hSrc, FHANDLE hDst, INT iX, INT iY)
 局所領域平均値による2値画像作成.
INT FVALGAPI fnFGA_shift_avr_threshold_ex (FHANDLE hSrc, FHANDLE hDst, INT iX, INT iY, INT border_mode, DOUBLE value)
 局所領域平均値による2値画像作成 ボーダー処理付き.
INT FVALGAPI fnFGA_shift_avr_threshold_offset (FHANDLE hSrc, FHANDLE hDst, INT iX, INT iY, INT iOffset, INT border_mode, DOUBLE value)
 局所領域平均値とオフセットによる2値画像作成 ボーダー処理付き.

関数

INT FVALGAPI fnFGA_binarize ( FHANDLE  hsrc,
FHANDLE  hdst,
DOUBLE  threshold 
)

固定しきい値による 2 値化.

指定された濃淡画像 (FGA 画像オブジェクト) を2値化画像 (FGA 画像オブジェクト) へ変換します。

本関数に対応する FIE ライブラリ関数は fnFIE_binarize() となります。
ここに記載されていない詳細な仕様に関しては 「FIE ライブラリ説明書」 を参照して下さい。

引数:
[in] hsrc 入力画像ハンドル( FGA 画像オブジェクト / type : uc8, s16, us16, double )
[out] hdst 出力画像ハンドル( FGA 画像オブジェクト / type : bin )
[in] threshold 2 値化閾値
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像ハンドルが渡されたため異常終了した
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
本関数は非同期関数です。非同期関数の詳細については 「非同期関数」のページを参照して下さい。

使用例:
// エラー処理は省略しているので注意して下さい.

// FIE ライブラリ関連インクルードファイル.
#include "fie.h"

// FGA ライブラリインクルードファイル.
#include "fga.h"


INT main( VOID )
{
    FHANDLE src_FIE = NULL;
    FHANDLE src_FGA = NULL;

    FHANDLE dst_FIE = NULL;
    FHANDLE dst_FGA = NULL;

    INT ch, type, width, height;

    // ライブラリの初期化処理.
    fnFIE_setup();
    fnFGA_setup();

    // 入力画像を FIE 画像オブジェクトとして用意する. (サンプルの為ファイルから読込み).
    fnFIE_load_bmp( "src_img.bmp", &src_FIE, F_COLOR_IMG_TYPE_UC8 );
    fnFIE_img_get_params( src_FIE, &ch, &type, NULL, &width, &height );

    // 入力画像を FGA 画像オブジェクトにコピー.
    src_FGA = fnFGA_img_root_alloc( type, ch, width, height );
    fnFGA_img_copy( src_FIE, src_FGA );

    // 出力画像を FGA 画像オブジェクトとして確保する.
    dst_FGA = fnFGA_img_root_alloc( F_IMG_BIN, 1, width, height );

    // 固定しきい値による 2 値化.
    fnFGA_binarize( src_FGA, dst_FGA, 128 );

    // 出力画像を FIE 画像オブジェクトにコピーし、ファイルへ保存する.
    dst_FIE = fnFIE_img_root_alloc( F_IMG_BIN, 1, width, height );
    fnFGA_img_copy( dst_FGA, dst_FIE );
    fnFIE_save_bmp( "dst_img.bmp", dst_FIE );

    // 画像オブジェクトの解放.
    fnFIE_free_object( src_FIE );
    fnFIE_free_object( src_FGA );
    fnFIE_free_object( dst_FIE );
    fnFIE_free_object( dst_FGA );

    // ライブラリの終了処理.
    fnFIE_teardown();
    fnFGA_teardown();

    return 0;
}

INT FVALGAPI fnFGA_band_threshold ( FHANDLE  hsrc,
FHANDLE  hdst,
DOUBLE  tlow,
DOUBLE  thigh 
)

二つの固定しきい値を用いて 2 値化.

指定された濃淡画像を2値化画像へ変換します。
2値化は, 濃淡画像の濃度値をX、閾値を tlowthigh としたとき,

  • tlow <= X && thigh >= X : 1
  • tlow > X || thigh < X : 0

となります。

本関数に対応する FIE ライブラリ関数は fnFIE_band_threshold() となります。
ここに記載されていない詳細な仕様に関しては 「FIE ライブラリ説明書」 を参照して下さい。

引数:
[in] hsrc 入力画像ハンドル( FGA 画像オブジェクト / type : uc8, s16, us16, double )
[out] hdst 出力画像ハンドル( FGA 画像オブジェクト / type : bin )
[in] tlow 2値化閾値の下限
[in] thigh 2値化閾値の上限
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像ハンドルが渡されたため異常終了した
F_ERR_INVALID_PARAM パラメータエラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
本関数は非同期関数です。非同期関数の詳細については 「非同期関数」のページを参照して下さい。

INT FVALGAPI fnFGA_niblack_threshold ( FHANDLE  hSrc,
FHANDLE  hDst,
INT  iH,
INT  iV,
DOUBLE  dK,
INT  iBrdMod 
)

局所平均値と標準偏差を用いてNiblack法による画像2値化.

入力画像の注目画素の閾値を、その周辺画素の平均値と標準偏差を用いて決定し(Niblack法)、動的な2値化を行います。 周辺画素として統計値を計算する局所領域のサイズはパラメータにより変更することが出来ます。

各画素の閾値の計算は下式にしたがって行われます。

\[ T(i,j) = m(i,j) + k \cdot s(i,j) \]

  • $m(i,j)$ は注目画素 $(i,j)$ 周辺指定範囲内画素の平均値
  • $s(i,j)$ は注目画素 $(i,j)$ 周辺指定範囲内画素の標準偏差
  • $k$ はユーザ入力係数

本関数に対応する FIE ライブラリ関数は fnFIE_niblack_threshold() となります。
ここに記載されていない詳細な仕様に関しては 「FIE ライブラリ説明書」 を参照して下さい。

引数:
[in] hSrc 入力画像ハンドル( FGA 画像オブジェクト / type : uc8, s16, us16 )
[out] hDst 出力画像ハンドル( FGA 画像オブジェクト / type : bin )
[in] iH 局所領域の横サイズ
( 1〜255 の奇数。但し iHiV のどちらかは3以上でなければならない。)
[in] iV 局所領域の縦サイズ
( 1〜255 の奇数。但し iHiV のどちらかは3以上でなければならない。)
[in] dK 計算式の係数 $k$
[in] iBrdMod ボーダー処理モード。下記のいずれかを指定。
  • F_BORDER_NONE ボーダー部分は処理しない
  • F_BORDER_CONTINUOUS 端延長モード
  • F_BORDER_MIRROR1 反転モード1
  • F_BORDER_MIRROR2 反転モード2
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像ハンドルが渡された
F_ERR_INVALID_PARAM パラメータ異常
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
本関数は非同期関数です。非同期関数の詳細については 「非同期関数」のページを参照して下さい。

INT FVALGAPI fnFGA_sauvola_threshold ( FHANDLE  hSrc,
FHANDLE  hDst,
INT  iH,
INT  iV,
DOUBLE  dK,
DOUBLE  dR,
INT  iBrdMod 
)

局所平均値と標準偏差を用いてSauvola法による画像2値化.

入力画像の注目画素の閾値を、その周辺画素の平均値と標準偏差を用いて決定し(Sauvola法)、動的な2値化を行います。 周辺画素として統計値を計算する局所領域のサイズはパラメータにより変更することが出来ます。

閾値の計算は下式にしたがって行われます。

\[ T(i,j) = m(i,j) \cdot \left [ 1 + k \cdot \left (\frac { s(i,j) }{R} - 1 \right ) \right ] \]

  • $m(i,j)$ は注目画素 $(i,j)$ 周辺指定範囲内画素の平均値
  • $s(i,j)$ は注目画素 $(i,j)$ 周辺指定範囲内画素の標準偏差
  • $k$$R$ はユーザ入力係数

本関数に対応する FIE ライブラリ関数は fnFIE_sauvola_threshold() となります。
ここに記載されていない詳細な仕様に関しては 「FIE ライブラリ説明書」 を参照して下さい。

引数:
[in] hSrc 入力画像ハンドル( FGA 画像オブジェクト / type : uc8, s16, us16, float, double )
[out] hDst 出力画像ハンドル( FGA 画像オブジェクト / type : bin )
[in] iH 局所領域の横サイズ
( 1〜255 の奇数。但し iHiV のどちらかは3以上でなければならない。)
[in] iV 局所領域の縦サイズ
( 1〜255 の奇数。但し iHiV のどちらかは3以上でなければならない。)
[in] dK 計算式の $k$
[in] dR 計算式の $R$ ( 絶対値が1以上の値 )
[in] iBrdMod ボーダー処理モード。下記のいずれかを指定。
  • F_BORDER_NONE ボーダー部分は処理しない
  • F_BORDER_CONTINUOUS 端延長モード
  • F_BORDER_MIRROR1 反転モード1
  • F_BORDER_MIRROR2 反転モード2
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像ハンドルが渡された
F_ERR_INVALID_PARAM パラメータ異常
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
本関数は非同期関数です。非同期関数の詳細については 「非同期関数」のページを参照して下さい。

INT FVALGAPI fnFGA_shift_avr_threshold ( FHANDLE  hSrc,
FHANDLE  hDst,
INT  iX,
INT  iY 
)

局所領域平均値による2値画像作成.

各画素ごとに画素周辺の局所領域の平均値をとり、画素の濃度と平均値を比べ、1画素単位で2値化をおこないます。
周囲画素平均値以上の画素は1、未満の画素は0にします。
内部で使用している平均フィルタのボーダー処理モードは F_BORDER_MIRROR2 を使用します。

本関数に対応する FIE ライブラリ関数は fnFIE_shift_avr_threshold() となります。
ここに記載されていない詳細な仕様に関しては 「FIE ライブラリ説明書」 を参照して下さい。

引数:
[in] hSrc 入力画像ハンドル( FGA 画像オブジェクト / type : uc8, us16, s16 )
[out] hDst 出力画像ハンドル( FGA 画像オブジェクト / type : bin)
[in] iX 近傍平均エリアの横サイズ。3〜画像の幅  の範囲の奇数を設定する。
[in] iY 近傍平均エリアの縦サイズ。3〜画像の高さ の範囲の奇数を設定する。
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像ハンドルが渡された
F_ERR_INVALID_PARAM パラメータ異常
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
本関数は非同期関数です。非同期関数の詳細については 「非同期関数」のページを参照して下さい。

INT FVALGAPI fnFGA_shift_avr_threshold_ex ( FHANDLE  hSrc,
FHANDLE  hDst,
INT  iX,
INT  iY,
INT  border_mode,
DOUBLE  value 
)

局所領域平均値による2値画像作成 ボーダー処理付き.

各画素ごとに画素周辺の局所領域の平均値をとり、画素の濃度と平均値を比べ、1画素単位で2値化をおこないます。
周囲画素平均値以上の画素は1、未満の画素は0にします。

本関数に対応する FIE ライブラリ関数は fnFIE_shift_avr_threshold_ex() となります。
ここに記載されていない詳細な仕様に関しては 「FIE ライブラリ説明書」 を参照して下さい。

引数:
[in] hSrc 入力画像ハンドル( FGA 画像オブジェクト / type : uc8, us16, s16 )
[out] hDst 出力画像ハンドル( FGA 画像オブジェクト / type : bin)
[in] iX 近傍平均エリアの横サイズ。3〜画像の幅  の範囲の奇数を設定する。
[in] iY 近傍平均エリアの縦サイズ。3〜画像の高さ の範囲の奇数を設定する。
[in] border_mode ボーダー処理モード。下記のいずれかを指定。
  • F_BORDER_NONE ボーダー部分は処理しない
  • F_BORDER_ZERO 0埋めモード
  • F_BORDER_VALUE 一定値モード
  • F_BORDER_CONTINUOUS 端延長モード
  • F_BORDER_REPEAT 繰り返しモード
  • F_BORDER_MIRROR1 反転モード1
  • F_BORDER_MIRROR2 反転モード2
[in] value ボーダー濃度値。
border_mode が F_BORDER_VALUE の場合のみ使用されます。その他のモードの場合は、この値は無視されます。
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像ハンドルが渡された
F_ERR_INVALID_PARAM パラメータ異常
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
本関数は非同期関数です。非同期関数の詳細については 「非同期関数」のページを参照して下さい。

INT FVALGAPI fnFGA_shift_avr_threshold_offset ( FHANDLE  hSrc,
FHANDLE  hDst,
INT  iX,
INT  iY,
INT  iOffset,
INT  border_mode,
DOUBLE  value 
)

局所領域平均値とオフセットによる2値画像作成 ボーダー処理付き.

各画素ごとに画素周辺の局所領域の平均値をとり、画素の濃度と平均値にオフセットを加算したものを比べ、1画素単位で2値化をおこないます。
周囲画素平均値にオフセットを加算した値以上の画素は1、未満の画素は0にします。

本関数に対応する FIE ライブラリ関数は fnFIE_shift_avr_threshold_offset() となります。
ここに記載されていない詳細な仕様に関しては 「FIE ライブラリ説明書」 を参照して下さい。

引数:
[in] hSrc 入力画像ハンドル( FGA 画像オブジェクト / type : uc8)
[out] hDst 出力画像ハンドル( FGA 画像オブジェクト / type : bin)
[in] iX 近傍平均エリアの横サイズ。3〜画像の幅  の範囲の奇数を設定する。
[in] iY 近傍平均エリアの縦サイズ。3〜画像の高さ の範囲の奇数を設定する。
[in] iOffset 周囲画素平均値からのオフセット $ -255 \le iOffset \le 255 $
[in] border_mode ボーダー処理モード。下記のいずれかを指定。
  • F_BORDER_NONE ボーダー部分は処理しない
  • F_BORDER_ZERO 0埋めモード
  • F_BORDER_VALUE 一定値モード
  • F_BORDER_CONTINUOUS 端延長モード
  • F_BORDER_REPEAT 繰り返しモード
  • F_BORDER_MIRROR1 反転モード1
  • F_BORDER_MIRROR2 反転モード2
[in] value ボーダー濃度値。
border_mode が F_BORDER_VALUE の場合のみ使用されます。その他のモードの場合は、この値は無視されます。
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_IMAGE 不正な画像ハンドルが渡された
F_ERR_INVALID_PARAM パラメータ異常
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
本関数は非同期関数です。非同期関数の詳細については 「非同期関数」のページを参照して下さい。


Documentation copyright © 2011 FAST Corporation. [B-002483]
Generated on Thu May 20 10:57:53 2021 for FGA ライブラリ by doxygen 1.5.6-FASTSP-p2