3次元位置姿勢取得を応用したバーコード読み取り

3次元位置姿勢取得

HALCON8.0からの新機能として、四角形の形状情報から3次元位置姿勢情報を取得できるようになりました。この新機能を有効に活用していただくことにより、複雑な処理も極めて容易に実行することが可能となります。今回はバーコード読み取りにこの新機能を有効に組み込んだ事例をご紹介します。

任意の位置姿勢を持ったラベルのバーコード読取

読み取りの対象となるのはチーズに貼付されたラベル上のバーコードとなります。この事例における課題として、対象となるチーズは不規則に積み上げられており、ラベルは一定の位置姿勢を持たず通常の方法では認識が難しいということが挙げられます。このような案件に対して認識率を飛躍的に高めるために、以下のような手法を用いることで確実なデコードが可能となります。


            ラベル画像

 

() まず動的しきい値法を用いて大まかなラベルの領域を抽出します。

    

() モフォロジー処理、形状特徴量解析を用いて、ラベルの領域のみを抽出します。

  

()  ()で求めた領域から1ピクセルの幅を持った境界領域のみを抽出し、その領域に対して膨張処理を適用することにより、ラベルの境界に柔軟に沿っており、かつ、ラベル境界のエッジ抽出には必要十分な幅を持った領域を得ることができます。

() ()で取得した領域に解析範囲を絞り込みます。この操作により、その後の処理が行いやすくなると共に、画像全体に対して処理を行うのに比べて大幅に処理を高速化することが可能です。 

  

() ラベルの境界のエッジを抽出します。解析範囲を絞り込んだことにより余分なエッジを抽出することなく、必要なエッジのみが高速に抽出されています。

   

()  取得したエッジを以下の手順により矩形に近似します。

@ 輪郭エッジを分割し、直線成分のみを抽出します。
A 得られた直線成分のエッジを直線近似し、その交点を求めます。
B 得られた4つの交点をつなぐように矩形を生成します。こうすることでラベルを取り囲む矩形をサブピクセル精度で求めることが可能です。

() 得られた矩形のXLDデータを用いて、3次元位置姿勢を取得します。これは、カメラ内部パラメータと矩形のXLDデータ、矩形(ラベル)の実際の大きさの3つの情報を用意すれば、1つのオペレータを呼び出すだけで取得することが可能です。得られた位置姿勢を用いて、ラベルを任意の位置から見た画像に変換することが可能となります。他の多くのアプリケーションの場合と同様に、今回も真上から見た画像に変換します。

 

()  ラベル中でバーコードがどこに印刷されるかは既知の情報ですので、バーコードが存在する領域に解析範囲を絞り込みます。

 
() 最後に通常の手法と同様にバーコードを読み取っていただくだけで、非常に高い認識率でのバーコード読取が可能となります。

以上のように、HALCONではオペレータの組み合わせ次第で精度、速度の両方の面で格段に向上を図ることが可能です。今回はそのほんの一例をお見せしましたが、HALCONの持つ無限の可能性を感じていただければ幸いです。

HALCON新教科書 好評発売中!

「画像処理アルゴリズムと実践アプリケーション」の詳細・お申し込みはこちら

  ↓

https://linx.jp/product/mvtec/halcon/

   

 

HALCON 8.0のデモ版を使用してのオンライン自習書

本書はオンライン自習書としての特長を持ち、付録CD-ROMからHALCON 8.0のデモ版をインストールすることで、本書にて紹介した実践的なサンプルプログラムを実行できます。また、各章で解説した技術内容をベースに課題が設けられており、HALCONデモ版を用いてオンラインで学習することができます。