構造体 F_MEASURE_PARAMS
[実行]


説明

ブローブ解析処理パラメータ

fnFIE_measure_execute() にて使用する、処理パラメータ指定構造体。


変数

UINT max_runs
 最大ラン数
UINT max_blobs
 最大ブローブ数
INT max_rows
 最大行数
enum f_measure_color_mode color_mode
 対象色モード
UINT neighborhood
 連結モード
UDLONG precalc_features
 事前計算特徴量指定
BOOL keep_results_after_overflow
 オーバーフローエラー発生時の結果維持オプション

構造体

最大ラン数

ブローブ解析処理における最大ラン数を指定します。 本パラメータに0以外の値を指定すると、ブローブ解析処理の途中で 抽出されたラン数がこの値を超えた場合に、エラーとして中断します。 0を指定すると上限無しとなり、関数内部で自動的に必要な領域の確保を行います。

通常はノイズが少なく、ランの数も安定している画像を処理する場合で、 希に非常にノイズの多い画像(エラー画像)が入ってくるような場合には、 本パラメータを指定しておくと処理の途中でエラー中断させることができるため、 突発的な処理時間の増大を阻止することが出来ます。

最大ブローブ数

ブローブ解析処理における最大ブローブ数を指定します。 本パラメータに0以外の値を指定すると、ブローブ解析処理の途中で 抽出されたブローブ数がこの値を超えた場合に、エラーとして中断します。 0を指定すると上限無しとなり、関数内部で自動的に必要な領域の確保と再配置を行います。

fnFIE_measure_continue() を使用する場合に本パラメータに0を指定して上限を設けなかった場合は、 continue時に増えたブローブの数に応じて、メモリの再確保と再配置(コピー)が行われます。 そのため、再配置にかかるコストが処理時間に上乗せされるため、ブローブ数が多くなればなるほど 処理が遅くなります。処理対象画像のおおよそのブローブ数が分かっている場合には、本パラメータ に上限値を設定しておくと fnFIE_measure_execute() 時に一括してメモリを確保するため、 メモリ再配置に関するコストが無くなり fnFIE_measure_continue() の処理時間を短縮できる場合があります。

また、 fnFIE_measure_execute() の実行時には再配置の問題は発生しませんが、 通常はノイズが少なく、ブローブの数も安定している画像を処理する場合で、 希に非常にノイズブローブの多い画像(エラー画像)が入ってくるような場合には、 本パラメータを指定しておくと処理の途中でエラー中断させることができるため、 突発的な処理時間の増大を阻止するこができます。

最大行数

ブローブ解析処理における最大行数を指定します。 値は、0≦max_rows≦65534 の範囲で設定してください。 本パラメータに0以外の値を指定しておくと、fnFIE_measure_continue() の実行時に、 ブローブ解析処理の途中で行数がこの値を超えると、エラーとして中断します。 0を指定すると上限無しとなり、関数内部で自動的に必要な領域の確保と再配置を行います。 但しブローブ解析の処理可能最大行数である65534を超えた場合は、常にエラーとなります。 fnFIE_measure_execute() のみ使用する場合は、本パラメータは意味を成さないので常に0を指定してください。

fnFIE_measure_continue() を使用する場合に本パラメータに0を指定して上限を設けなかった場合は、 continue時に増えた行数に応じて、メモリの再確保と再配置(コピー)が行われます。 よって、再配置にかかるコストが処理時間に上乗せされるため、解析済み行数が多くなればなるほど 処理が遅くなります。1面の行数が分かっている場合には、本パラメータに上限値を設定しておくと fnFIE_measure_execute() 時に一括してメモリを確保するため、メモリ再配置に関するコストが無くなり fnFIE_measure_continue() の処理時間を短縮できる場合があります。

対象色モード

計測対象の色(濃度値)を指定します。

  • F_MEASURE_BLACKFG_WHITEBG 背景が白(1)、前景が黒(0)
  • F_MEASURE_WHITEFG_BLACKBG 背景が黒(0)、前景が白(1)
  • F_MEASURE_BLACKFG 前景が黒(0)、背景は解析しない
  • F_MEASURE_WHITEFG 前景が白(1)、背景は解析しない

前景・背景共に計測するモードでは、ブローブの親子関係を作成します。 背景を計測しないモードでは、ブローブの親子関係を作成しません。 背景を計測しないモードでは親子関係を作成しないため 処理は高速になりますが、代わりに親子関係を利用する特徴量計算などの 一部の機能が使用不可能となります。

連結モード

前景の画素連結モードを指定します。 4または8を指定してください。

  • 4 4連結
  • 8 8連結

なお、前景と背景の連結モードは常に逆になります。 つまり、前景が4連結の時は背景は8連結、前景が8連結の時は背景が4連結となります。

事前計算特徴量指定

通常、各ブローブの特徴量は fnFIE_measure_get_area() などの特徴量取得関数を呼ぶか、 またはブローブ番号配列のソート/フィルタリング関数を呼ぶまで計算されません。 しかし、本パラメータにあらかじめ計算したい特徴量を指定しておくと、 指定された特徴量についてはブローブ解析実行時( fnFIE_measure_execute() 又は fnFIE_measure_continue() )に全ブローブが強制的に計算されるようになります。

値は、下記のdefineをORにて指定します。 下記に列挙されていない物は無視されるので注意してください。

なお、特徴量 xmin, ymin, xmax, ymax は必ず事前に計算される仕様となっています。 また、特に必要の無い場合は0を指定してください。

オーバーフローエラー発生時の結果維持オプション

本パラメータを TRUE に設定すると、max_runsの設定数に到達したことによる ランレングスオーバーフローが発生して途中終了し、 F_ERR_MEASURE_ROW_OVERFLOW が 返されたときに出来る限り途中までの解析結果を構築し、結果を返すようにします。 ラン数のオーバーフロー判定は行単位で行われるため、このときに構築される解析結果は 画像の上端行からオーバーフローが発生した行までが解析されたものとなります。

なお F_ERR_MEASURE_BLOB_OVERFLOW 発生時 には途中結果を構築することはできません。 また fnFIE_measure_continue() に F_ERR_MEASURE_ROW_OVERFLOW が発生した場合 には、本パラメータの設定に関わらず fnFIE_measure_continue() を実行する前の 状態が保持されます。

オーバーフローエラー発生時に構築される解析結果は不正確なもの であり、使用時には十分な注意が必要となります。 通常は本パラメータには FALSE を指定して使用してください。


Documentation copyright © 2009-2024 FAST Corporation.
Generated on Fri Aug 9 16:38:49 2024 for FIEライブラリ by doxygen 1.5.6-FASTSP-p2