【HALCON】smooth_contours_xld 関数について - XLD輪郭のスムージング

【HALCON】smooth_contours_xld 関数について - XLD輪郭のスムージング

2024-08-21

2024-08-21

smooth_contours_xld 関数とは

smooth_contours_xld は、入力された XLD 輪郭を滑らかにするための HALCON の関数です。局所的な回帰線に各輪郭点を投影することで、ノイズの影響を抑えつつ滑らかな輪郭を生成します。特に、輪郭のスケーリングや変換を行う前に、この関数を使用することで、より正確な操作が可能になります。

使い方

以下は、smooth_contours_xld 関数を使った簡単な例です:

* XLD 輪郭を生成する
gen_contours_skeleton_xld (Contours, 'skeleton', 1)

* XLD 輪郭を滑らかにする
smooth_contours_xld (Contours, SmoothedContours, 5)

* 結果を表示する
dev_display (SmoothedContours)

この例では、まず XLD 輪郭を生成し、その後 smooth_contours_xld を使用して輪郭を滑らかにしています。NumRegrPoints パラメータは 5 に設定されており、これは各輪郭点の周囲に5つの点を使用して回帰線を計算することを意味します。

パラメータの詳細

  • Contours(入力オブジェクト)
    スムージングされる XLD 輪郭です。

  • SmoothedContours(出力オブジェクト)
    スムージング後の XLD 輪郭が出力されます。

  • NumRegrPoints(入力パラメータ)
    回帰線を計算するために使用される隣接点の数を指定します。この値は奇数でなければならず、デフォルトでは 5 に設定されています。

並列処理サポート

smooth_contours_xld 関数はスレッドセーフであり、並列処理が可能です。ただし、この関数自体は内部で並列処理されていませんが、他の非排他的なオペレーターと並行して実行することができます。

まとめ

smooth_contours_xld 関数を使うことで、XLD 輪郭のノイズを減らし、滑らかな形状を保ったまま処理が可能になります。特に、スケーリングやアフィン変換を行う前にこの関数を適用することで、より正確な結果が得られるでしょう。

Recommend