Bottle Inspection
目的
この例のタスクは、ボトルの数、向き、液体のレベル、泡の有無を確認することです。
Input
ボトルのイメージ。 ボトルの位置は、カメラに対してだけでなく他のボトルに対しても変化する可能性があります。

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

ヒント
Solution (AVS)
>> ここをクリックしてソリューションを開く
>> ここをクリックしてソリューションを非表示にする
-
Workspace Explorerでワークスペース例題を開き、フィルムストリップ ウィンドウで BottleInspectionデータセットを選択します。 ImageチャンネルをACQUIREセクションにドラッグします。
-
ヒントセクションに記載されているチュートリアルに記載されている手順に従います。
-
プログラムが 3 番目のチュートリアルの終わりのものと似てきたら、 AlignRectangleを追加します。
- outBottleAlignmentsの出力をCreateCoordinateSystemFromPointからinAlignment入力に接続します。
- プログラムを 1 回繰り返します。エディタに入り(inRectangleの横にある"..." をクリック)、ボトルキャップと同じくらいの大きさの長方形を描画します。
- outAlignedRectangle をview2DBox_PassFailインジケータのinDataのひとつにドラッグします。
- Coordinate SystemフィールドがinAlignmentに設定されていることを確認し、長方形をキャップ上に移動します。
- プログラムを 1 回実行し、inRectangle横にある [...] アイコンをクリックします。エディタでキャップのほぼ中央に小さな四角形 (約 15x15 ピクセルで十分です) を描画します。
- 必ず座標系と同じボトルに長方形を配置してください。
- 結果は以下の画像のようになります。 座標系のシンボルが長方形の下にあることに注目してください。

- LocateSingleObject_Edges1を追加し、inSearchRegionをoutAlignedRectangle に接続します。
-
エッジモデルエディタを開きます。 提供された画像に示されている領域にマークを付けます。 画像の設定も使用してください。

- エディタを閉じたら、フィルタプロパティを変更します。inEdgeThresholdを 8に、inMinScore に 0.5に設定してください。
- The inEdgeThresholdパラメータは、エッジとみなされるピクセル間の遷移の強さを決定します。
The inMinScoreパラメータは、有効なオブジェクトの出現の最小スコアを決定します。
この場合、キャップの方向を見つけることだけに興味があるため、最小スコアは比較的低くなければなりません。
- By clicking on Show/Hide Portsをクリックすると、追加の出力と入力を表示できます。 次の図に示すようにオプションをオンにして、フィルタに別のoutObject.isNil.Not出力が含まれるようにします。

- 新しく作成した出力を view2DBox_PassFail HMI インジケーターの inStatus ポートに接続します。 このポートは、以前に使用したinData ポート (ステップ 2) に対応する必要があります。
- オブジェクトが検出された場合(向きが正しい場合)、作成された出力はTrueとなり、前のステップの四角形は緑色になります。 オブジェクトが検出されなかった場合(向きが間違っていた場合、長方形は赤になります。
- プログラムをもう少し整理するには、フィルターをステップ マクロフィルターに抽出します。
マクロフィルタ メイン

使用したフィルタ
>> ここをクリックしてフィルタリストを開く
>> ここをクリックしてフィルタリストを閉じる
その他の資料