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