コーナー抽出
[ビジョンツール]


関数

INT FVALGAPI fnFIE_aligned_corner_extraction (const FHANDLE fim, BOX_T roi_horz, BOX_T roi_vert, DOUBLE delta_angle, INT filter_size, DLINE_T *line_horz_out, DLINE_T *line_vert_out, DPNT_T *pnt_out)
 指定された画像領域から縦・横線を検出し交点を抽出します

関数

INT FVALGAPI fnFIE_aligned_corner_extraction ( const FHANDLE  fim,
BOX_T  roi_horz,
BOX_T  roi_vert,
DOUBLE  delta_angle,
INT  filter_size,
DLINE_T line_horz_out,
DLINE_T line_vert_out,
DPNT_T pnt_out 
)

指定された画像領域から縦・横線を検出し交点を抽出します

画像 fim から roi_horz で指定された領域内の横線を抽出し、 roi_vert で指定された領域内の縦線を抽出し、線の交点を pnt_out で出力します。 横線の直線係数が line_horz_out, 縦線の直線係数が line_vert_out で出力されます。 横線と縦線の直線係数は, DLINE_T::a ^2 + DLINE_T::b ^2 = 1 を満たします。

抽出される横・縦線の間の角度を delta_angle でラジアン単位で指定します。 縦線の角度は、横線の角度に delta_angle を足した角度となります。

各領域内の線抽出に使われるフィルタサイズ(3以上の奇数、推奨値:11以上)を filter_size で渡します。

各領域のX座標が [ 0, 画像横サイズ-1 ], Y座標が [ 0, 画像縦サイズ-1 ] 以内でなければなりません。

本関数は、エッジの極性を無視します。そのため:

  • 出力される直線係数は (a,b,c) か (-a,-b,-c) かは不定です。 但し、直線係数の正負が不定でも、表された線と線の交点は変わりません。
  • 入力画像のコントラストを逆転しても、抽出される交点が変わりません。
  • delta_angle$ \alpha $ を指定する事と PI - $ \alpha $ を指定する事が同じ意味です。
  • 一つの四角の一つのコーナーの抽出が可能です。更に、 チェスボードの様に二つの四角が一つのコーナーで接しているコーナーの抽出も可能です。
警告:
各領域内に抽出したい線以外にノイズや他の線や他の特徴が入っている場合は、本関数が正常終了しても 返ってくる結果が想定される結果と異なる場合があります。横線抽出ROIに横線以外出来るだけ他に何も 含まれていない様に、そして縦線抽出ROIに縦線以外に出来るだけ他に何も含まれていない様に、 各ROIを設定してください。
出来るだけ横線の抽出ROIと縦線の抽出ROIが重ならない様に、または重なる面積が出来るだけ小さい様に、 ROIを設定してください。
引数:
[in] fim 入力画像( 1 channel, UC8 )
[in] roi_horz 横線を検出する画像領域
[in] roi_vert 縦線を検出する画像領域
[in] delta_angle 横線と縦線の間の角度(単位:ラジアン)。
縦線の角度=横線の角度+delta_angle
[in] filter_size エッジ抽出フィルターのサイズ。3以上の奇数でなければなりません。
[out] line_horz_out 抽出された横線
不要な場合は NULL を指定可能です。
[out] line_vert_out 抽出された縦線
不要な場合は NULL を指定可能です。
[out] pnt_out 抽出された交点
不要な場合は NULL を指定可能です。
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_INVALID_PARAM パラメータ不正エラー
F_ERR_INVALID_IMAGE 画像オブジェクトエラー
F_ERR_CALC_IMPOSSIBLE 計算不能エラー
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー
処理例:
fie_aligned_corner_extraction1.png

delta_angle = 90度の例。赤:横線ROI. 青:縦線ROI. 緑:コーナー

fie_aligned_corner_extraction2.png

delta_angle = 170度の例。赤:横線ROI. 青:縦線ROI. 緑:コーナー

fie_aligned_corner_extraction3.png

チェスボードコーナー抽出の例。赤:横線ROI. 青:縦線ROI. 緑:コーナー


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