Inset Distances

目的

課題は、リッジ間の距離を計算するアルゴリズムを考案することです。

Input

以下の図のように、オブジェクトの位置が変化する一連の画像を用意します。

Output

画像内で検出された隆線とそれらの間の計算された距離 (ギャップの幅)

ヒント

リッジの位置が微妙に変化するため、テンプレートマッチングを使用せずにリッジを見つける方法を考えます。画像の他の部分を使用して位置を確認することもできます。 Region Analysisを使用すると、穴の位置を特定し、この情報に基づいてローカル座標系を作成できます。

接続のラベル付けについては こちらを参照ください。

Solution (AVS)

  1. Workspace Explorerでワークスペースの例題を開き、フィルム ストリップ ウィンドウでInsetDistanceデータセットを選択します。 Imageチャンネルを「ACQUIRE」セクションにドラッグします。
  2. ThresholdToRegionフィルターを追加します。前のフィルターからのoutImage 出力を現在のフィルターのinImageに接続します。inRoi 入力を次のように設定します。
  3. SplitRegionIntoBlobsを追加します。前のフィルターのoutRegionを現在のフィルターのinRegionに接続します。 最小の BLOB のみが残るように、inMaxBlobAreaを 1000 に設定します。
  4. RegionMassCenterを追加します。outBlobsinRegionに接続します。outMassCenter出力を右クリックし、プロパティ出力を見つけてXを選択します。これはフィルターの新しい出力として表示されます。
  5. Point2DタイプのGetSortedElementsを追加します。outMassCenterinArrayに接続し、outMassCenter.XinValues に接続します。 X 座標に従って BLOB を並べ替えます。
  6. CreateCoordinateSystemFromSegmentを追加します。inSegment入力を右クリックし、outElement0outElement1をそれぞれinSegment.Point1inSegment.Point2に接続します。
  7. ScanExactlyNRidgesを追加後、

マクロフィルタ メイン

使用したフィルタ

アイコン 名前 説明
RegionMassCenter 領域のピクセルの平均座標に等しい座標を持つ点を計算します。
CreateCoordinateSystemFromSegment 指定されたセグメントを原点とする座標系を作成します。
ThresholdToRegion 顕著な明るさによって定義できるオブジェクトの領域の抽出。
ScanExactlyNRidges ワイヤーやスケールマークなどの薄い構造物を非常に高速に検出 (または存在検証) します。
SplitRegionIntoBlobs オブジェクトが互いに接触していない場合に、領域を個々のオブジェクトにセグメント化します。
GetSortedElements 値の配列から 8 つの最小/最大値に対応する要素を返します。

その他の資料

  • 1D Edge Detection - エッジ検出フィルターがどのように機能するかを説明しています。
  • Array- Aurora Vision Studio の配列に基づくすべての操作にリンクします。
  • Blob Analysis - ブロブ分析手法について詳しく説明します。
  • Local Coordinate Systems - 座標系の使用に関する基本的な概念について説明しています。