Bottle Inspector Part3 : Foam Detection -- Bottle Inspector Part3 : Foam Detection --
§ 目的
瓶中的泡沫檢查。設計一個簡單的人機界面 (HMI) ,將使用基本的人機界面 (HMI) 控制目前所有的檢查結果。
§ 過程
從液面高度檢測的做法,做進一步的泡沫檢測
§ 結果
做一個 stay by stay 的迴路,設其名為 CheckFoam 將代表泡沫檢測結果的 Bool 值數組返回
§ 提示
此範例是一個缺陷檢測的例子
範例中,泡沫明亮度比瓶中液體上方要暗
一開始,我們需要建立根據先前計算液面高度的 ROI ,計算 ROI 應包括上述液體上面的深色部份
要建立一個矩形的ROI可以利用CreateBox過濾器。為了充分利用穩定的效果,這將是不受噪音,我們應該使用ImageAverage過濾器縮小到了準備的ROI
分類顏色亮度值,我們可以使用公式(或TestRealGreaterThan)過濾了一些可以接受的參考值進行比較。使用公式是更優選的,因為它可以在將來更容易改變比靜態濾波器
為了呈現BOOLS陣列在HMI我們可以利用BoolIndicatorBoard控制
§ 解決方案
1. 利用 "TranslatePoint" 輸入 (0, -12)
2. 建立一個方型 30x20 ,利用 "CreateBox" filter 設 inLocationAlignment 為 MiddleCenterset
3. 利用 "ImageAverage" filter 計算像素的平均值,連接輸出 box 到輸入 inRoi
4. 利用 "TestRealGreaterThan" filter 設值為100.0 的使用公式,恆定值進行比較
5. 開放式 HMI Open HMI 和加入 如下的控制原件 :
- ImageBox - 顯示輸入影像
- Three Labels - 進行項目名稱和關於測量功能的資訊
- Two BoolIndicatorBoard - 顯示泡沫和液面高度檢測的結果
- 和 HMI Imagebox 連結輸入影像
- 首先 BoolIndicatorBoard 連接輸出 "LiquidLevel" macrofilter
- 第二 BoolIndicatorBoard 連接輸出 "CheckFoam" macrofilter
3. 加入 "Delay" filter 在 Main macrofilter,以降低檢測的速度,方便用戶查看結果
§ 附註
替換二個 BoolIndicatorBoards 用單一指標,將泡沫和液面高度的結果一起顯示
§ Macrofilter CheckFoam checks for foam by analysing the average color above the liquid