画像処理により対象物の様々な形状を高精度に計測するには、サブピクセル精度で対象物のエッジ情報をうまく抽出する必要があります。また、取得したエッジ情報から興味の対象となるエッジを選別したり、エッジを部分的に分割したり、もしくは直線的・曲線的に隣接するエッジ同士を結合するといった作業が求められます。そして、最終的にこれらのエッジを四角形や円、直線近似することで、サブピクセル精度による高精度な計測が実現できます。
ここでは、HALCONの様々な機能を組み合わせることによって実現できた例として、左画像のようなチップの四角形形状を高精度に計測する事例をご紹介します。
まず初めに、計測対象領域であるチップ上の領域を抽出します。
大まかな領域を取得するために2値化処理を行い、左画像に赤で示す領域を抽出しました。今回必要のないノイズ領域を取り除いた後、離れている領域同士を区別します。
領域の面積、四角形性の特徴量を用いて選択し、左画像に示す領域だけを抽出します。
抽出した領域を最小外接四角形に変換します。これはピクセル単位での四角形変換です。さらに高精度な計測を行うために、HALCONのXLD(Extended Line Discription)オブジェクトを使用してこの領域のエッジ情報を抽出することを考えます。
変換した四角形の輪郭部分の領域を取得します。
取得した領域に対して解析範囲を絞り込みます。サブピクセル精度でのエッジ抽出処理は、高精度なデータを扱うため、領域操作に比べて処理に時間がかかってしまいます。そのような問題を解決するために、HALCONではこのような自由度の高い解析範囲の絞込み機能を提供しています。
実際に解析範囲を絞り込んだ場合と、画像全体に処理を行った場合の結果を比較してみました。解析範囲を絞り込んだ場合、大幅な高速化が実現できていることが分かります。さらに、今後の処理に必要ないエッジ情報の除去を考える必要がなくなるため、左に表示した以上の高速化が実現できることになります。
抽出したXLDオブジェクトは容易に操作することができます。領域操作と同様に特徴量を使用して選択することで、左画像のように直線成分かつある程度の長さを持つXLDだけを抽出できました。
抽出されたXLDオブジェクトは、たった一つのオペレータ実行で容易に結合することができます。左に示すように、オブジェクト間をつないで一つにまとめます。
結合されたXLDオブジェクトに対して四角形近似を行い、チップ上の対象領域の形状を高精度に計測することができます。この近似処理も、HALCONではオペレータを一つ実行するだけで行うことができます。
同様の処理を外側の四角形領域にも行い、左画像のようにチップ上の四角形部分をサブピクセル精度で計測することができました。
さらにそれぞれの四角形の中心を比較することで、位置ずれの度合いを計測することができます。