最初のプログラム: 単純なブロブ分析
この記事では、単純な BLOB 分析の例を使用して、Aurora Vision Studio の基本的なワークフローを説明します。 ここでのタスクは、入力画像に存在する他のオブジェクトから爪を分離することです。
BLOB の抽出
この簡単なデモを開始するには、ファイルから image を読み込みます。 LoadImage フィルター (ツール) を使用します。このフィルターは、From Fileグループのツールボックスの Image Acquisitionセクションで利用できます。
例で使用されている画像はバックライトを使用して取得されているため、ThresholdToRegionフィルタを使用するだけで、その前景と背景を簡単に分離できます。 (画像処理 → 閾値画像)。
このフィルタの結果は、Region、つまり圧縮されたバイナリ イメージまたはセットです。 前景オブジェクトに対応するピクセル位置の数。次のステップでは、この 1 つの領域を、個々のオブジェクトを表す領域の配列 (リスト) に変換します。 これは、 SplitRegionIntoBlobs フィルター (Region Analysis → Split Region)で実行されます。
注:
- フィルタ間の接続は、フィルタ出力から別のフィルタの入力までマウスでドラッグすることによって作成されます。
- 右側のデータ プレビューは、フィルター出力をドラッグ アンド ドロップすることで作成されます。
- 入力ファイルは、parts.png から入手できます。
ブロブの分類
この段階で用意されているのは、Regionの配列です。この配列には 12 個の要素があり、そのうち 4 つは釘です。爪を他の物体から分離するには、爪が長くて薄いという事実を利用できます。
ClassifyRegionsフィルター (Region Analysis → Region Logic) (inFeature入力を Elongation と inMinimum を 10 に設定すると、outAcceptedのネイルのみが返されます。
個々の BLOB の特徴値を含む outValues 出力もあります。これは、データ プレビューに実数のテーブルとして表示することもできます。 このテーブルのインデックスは BLOB に対応しており、選択したデータ プレビュー ツールバーの [要素のインデックスを表示] オプションを使用して表示できます。
描画の結果
最後に、爪が緑色でマークされた出力画像 (HMI に表示するためなど) を作成できます。
この目的のため、DrawRegions_SingleColor フィルターを使用します。このフィルターには、inImage および inRegions 入力が適切に接続されている必要があります。inColor 入力は必要な色を定義し、[プロパティ] ウィンドウで編集できます。
要素数の取得
見つかった要素の数も取得したい場合は、outAcceptedを右クリックして出力し、Property Outputs → Count を選択しすると、outAccepted.Count という名前の追加出力を作成されます。
この場合、数値 5 が得られます。
結論
この例が示すように、Aurora Vision Studio でのプログラムの作成は、ツールボックス (またはフィルター カタログ) からフィルター (ツール) を選択し、それらを接続して構成することで構成されます。 データ プレビューは、フィルター ポートをデータ プレビュー領域にドラッグ アンド ドロップすることによって作成されます。 この単純なワークフローは、今示したような最も基本的なプログラムだけでなく、複数の画像ソース、数百のフィルター、および任意に複雑なデータ フロー ロジックを含む高度な産業用アプリケーションにも共通です。
注: このプログラムは、Aurora Vision Studio の公式サンプルで「Nails Screws and Nuts」として利用できます。