Parallel Enumeration

目的

このタスク例は、Worker Task Macrofiltersを使用して、ボトルの数、方向、液体のレベル、泡の有無を可能な限り短い実行時間でチェックすることです。

Input

ボトルのイメージです。 ボトルの位置は、カメラに対してだけでなく他のボトルに対しても変化する可能性があります。

Output

検査結果を描画した画像。 欠陥が検出された場合、その周囲に四角形が描画されます。

ヒント

オブジェクトの位置は可変です。 このプログラムの検査手順は、ボトル検査の例で説明されています。

元の例と比較して、実行時間を短縮するには、画像の列挙を検査と並行して実行する必要があります。 これを実現するには、Worker Task Macrofilterを使用する必要があります。

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

Solution (AVS)

  1. Bottle Inspectionからプログラムをロードします。
  2. [プロジェクト エクスプローラー] ウィンドウから、ImageEnumeratorという名前の新しいWorker Task Macrofilterフィルターを作成します。
  3. [プロジェクト エクスプローラー] ウィンドウから、Image データ型を使用して新しいImageToInspectキューを作成します。
  4. ImageEnumerator Worker Task MacrofilterACQUIREセクションに移動します。 EnumerateImages フィルターを追加します。
  5. inDirectory 入力に画像への適切なパスを指定します。
  6. PROCESSセクションで、Queue_Push フィルターを追加し、ImageToInspect を割り当てます。
  7. EnumerateImagesフィルターからのoutImage出力をQueue_PushフィルターのinValue入力に接続します。
  8. Mainプログラムに戻ります。
  9. ACQUIREセクションで Queue_Popフィルターを追加し、それに ImageToInspectキューを割り当てます。
  10. outImage出力からの接続を、Queue_Popフィルターの outValue出力からの接続に置き換えます。
  11. MainEnumerateImagesフィルターを削除または無効にします。
  12. ACQUIREセクションにLoopフィルターを追加します。
  13. プログラム実行の準備ができました。。 現在のバージョンでは、ワーカータスクを使用するプログラムは実行モード (F5キー) でのみ実行できます

マクロフィルタ メイン

Macrofilter ImageEnumerator

使用したフィルタ

アイコン 名前 説明
EnumerateImages ディスクに保存された画像を使用して画像取得をエミュレートします。
ScanSingleEdge 物体 (ボトルの水平方向の変位など) と簡単な測定 (ボトル内の液面など) を非常に高速に検出します。
AlignRectangle ローカル座標系で定義された四角形があるが、プログラム内の次の画像関連フィルターに inAlignment 入力がない場合に必要です。
LocateSingleObject_Edges1 輪郭がシャープで硬い物体の検出。 多くの場合、プログラムの最初のフィルターの 1 つです。
Loop このフィルターを、ループを持つ必要があるタスクに配置しますが、他のループ ジェネレーター (例: GrabImage) を持たないようにします。
CheckPresence_Intensity 迅速かつ簡単な存在確認。(例: キャップ、ネジ、ラベルの紛失)
SegmentCenter セグメントの中心点を計算します。
CreateCoordinateSystemFromPoint 1D エッジ検出またはブロブ分析の結果からオブジェクトの位置合わせを定義するために最もよく使用されます。
ScanMultipleStripes 対向するエッジの複数のペアを非常に高速に検出します - 通常はカウントまたは幅の測定に使用されます。
CreateRectangle 位置合わせされた点から長方形を作成します。

その他の資料

  • 1D Edge Detection - エッジ検出フィルターがどのように機能するかを説明しています。
  • Local Coordinate Systems - 座標系の使用に関する基本的な概念について説明しています。
  • Template Matching - テンプレート マッチング テクニックの最も詳細な説明をしています。