Vision Assistantで向きの変化に対応して特定の部分に対して処理を実行させる

更新しました Dec 8, 2020

環境

ソフトウェア

  • Vision Development Module

画像処理で様々な検査対象に同じ処理を適用する際に、ROI(関心領域)を指定する必要があります。しかし画像上のROIの位置が固定されていると、検査対象の向きが異なった場合にROIの位置も変化する必要があります。例えば、以下の左図で赤で示した部品の特定の部分の長さを検査するアプリケーションでROIの位置を固定した場合、右図のように部品の向きが変わってしまうと検査することができなくなります。この資料では、検査対象の向きが異なった場合にROIの相対的な位置も合わせて変化させる方法を紹介しています。

 
 
 

1. ROIの位置を相対的に変化させるための基準となる座標を設定するために、パターンマッチングをおこないます。パターンマッチングでは向き(回転)が異なっても検出できるように指定しておきます。

2. パターンマッチングが済んだら、座標系を設定の処理を選択します。

3. 座標系の設定を行う基準点を、先ほどパターンマッチングした際に得られたマッチングの中心点にとります。以降ではここで設定した座標系を「基準座標」と呼びます。

4. 対象となる部分の距離を測るためにキャリパの処理を使う準備として、エッジ検出を用いてキャリパのための点を取得します。

5. エッジ検出時、まずメインの部分で関心領域を再配置にチェックを入れて、基準座標名の部分で先ほど設定した基準座標を指定します。これを行うことで、これから設定するROIが基準座標からの相対位置として設定されます。

6. ROIを設定し、うまく測りたい部分の距離を指定できるようなエッジが検出されるかを確認します(下図では2と3)。検索の部分はデフォルトでは一つのエッジしか検出しないので変更を加えます。

7. エッジ検出終了後にキャリパの処理を選択します。

8. キャリパの中で距離を選択します。

9. 距離を調べたいエッジを選択して、測定ボタンをクリックすることで指定したエッジ間の距離を求めることができます。

10. 実際に向きの異なる画像に対して上記の処理が適用されるか確認してみます。

11. パターンマッチングがされるとその情報を元に座標系が決まり、エッジ検出のための直線ROIは5で設定したこの座標系との相対位置の関係を保った状態で設定されます。

12. どのような角度であってもパターンマッチングで認識されれば同じ処理が適用されることがわかります。