Shipment Verification
目的
このプログラムの目的は、コンテナ内の箱の数を数え、それぞれにストライプのマークを付けることです。
Input
コンテナ内の箱のイメージ
Output
検出されたボックスとその数
ヒント
この目標を達成する最も簡単かつ迅速な方法は、1D Edge Detection技術を使用してボックスをストライプとして検出することです。
接続のラベル付けについては こちらを参照ください。
Solution (AVS)
- LoadImageフィルターを追加します。フィルターのプロパティウィンドウで画像にディレクトリを設定することを思い出してください。
- ScanMultipleStripesフィルタを追加します。
- 最初のoutImageフィルタを2番目のinImageフィルター接続します。
- ScanMultipleStripesをクリックします。プロパティウィンドウ(左下)で以下のように変更します。
- すべてのボックスを含むように、inScanPathで水平方向のスキャンパスを定義します。
- inStripeScanParams.MinMagnitudeを10に設定します。これは、明るいストライプと暗いギャップの間の遷移のおおよその最小値です。
- 明るいストライプを見つけたいため、inStripeScanParams.StripePolarityをBrightに設定します。
- inStripeScanParams.MinStripeWidthを40に設定します。ボックスの幅は約42~43なので、これは下限として無難な数値なので設定します。
- inStripeScanParams.MaxStripeWidthを50に設定します。これは上限として無難な数値です。これがないと幅の広いストライプが検出される可能性があります。
- outStripesを右クリックし、Property outputsを見つけて、outStripes.Countを選択します。
マクロフィルタ メイン
使用したフィルタ
アイコン | 名前 | 説明 |
---|---|---|
ScanMultipleStripes | 対向するエッジの複数のペアを非常に高速に検出します - 通常はカウントまたは幅の測定に使用されます。 | |
LoadImage | ファイルから単一の画像を読み込みます。 |
その他の資料
- 1D Edge Detection - エッジ検出フィルターがどのように機能するかを説明しています。