輪郭線が波打っている場合、従来の手法で輪郭を楕円近似すると、波の影響により位置ズレが発生します。しかしHALCON7.1以降、幾何学的手法に基づく楕円近似アルゴリズムが追加され、このような状況下であっても正確に計測できるようになりました。要求によっては波打った部分の影響を考慮した方が良い場合もあり、その際には従来の手法と使い分けることで柔軟に対応することができます。
左図のようなギアの波打つ輪郭を楕円近似する事例をご紹介します。このような形状に対して通常の楕円近似を適用すると、波の部分に影響を受けてしまい内側に寄った楕円が得られてしまいますが、これを幾何学的な手法により解決します。
XLDオブジェクト(Extended Line Description)を利用し、対象のエッジ情報をサブピクセル精度で抽出します。
抽出したXLDデータのうち、楕円近似に用いるエッジを左図に示すギアの輪郭部分に絞り込みます。
まず初めに通常の楕円近似を行った場合を左図に示します。波打った輪郭線の影響で内側に寄った小さい楕円が取得されてしまいます。
次に幾何学的な手法に基づいて楕円近似を行った場合です。左図のように、ギアの輪郭線に沿った形状の楕円を取得することができました。
通常の場合と幾何学的な手法との楕円近似結果の比較です。どちらのアルゴリズムを利用して近似を行うかは、楕円近似に使用するオペレータ"fit_ellipse_contour_xld"のパラメータを書き換えるだけで変更できるため、状況に応じて容易に使い分けることができます。