Sorting Blobs -- Sorting Blobs --
§ 目的
建立排序影像物件
§ 過程
圖片中包含著不同形狀和面積的物件。
§ 結果
影像範圍的排序陣列中提取物件位置
§ 提示
利用"ThresholdToRegion" filter 找出物件
此範例中,請使用"SortArray", "GetArrayElement", "getMinimumElement", getMaximumElement" filter
為了讓程序清析,在主選單(Macorfilter Main)中延伸出一個小單元,將繪圖操作程序放入"DrawResults"(名稱可自行定義)
利用"CreateIntegerSequence" filter
§ 解決方案
1. "LoadImage" filter 呼叫影像
2. 從影像中提取物件範圍
3. 提取範圍,"inMinBlobArea" 設 500 ,這將刪除物件中所有小於 500px 的雜訊.
4. "RegionArea" filter 計算物件面積.
5. 執行"SortArray" filter 將物件排序,以確定物件之後的順序,這是有必要提供描述每個物件的值,在這種情況下使用"RegionArea"。當然在這個地方中,任何範圍的特徵可以用來代替。例如: "RegionCircularity" or "RegionElongation" filter 添加此 filter 的項目,然後從列表中選擇選項,如下圖示所表示。
6. "GetMaximumElement" and "GetMinimumElement" filter 尋找最小和最大物件的集合
7. 在主選單(Macorfilter Main)中延伸出一個小單元,將繪圖操作程序放入"DrawResults"(名稱可自行定義),創建兩個"Inputs": "inImage"將連結輸入影像
12. 將其中包含"inRegions"的做連結,和輸出入的連結
8. 在 "macrofilter DrawResults" 放置 "DrawRegions" filter. 編寫找到的物件。設置顏色為半透明 "inOpacity" 設 0.5. 影像使用為輸入影像
9. 建立將被寫入在影像中的文字,因為它是已知範圍輸入數組進行排序,使用 "CreateIntegerSequence" 建立適當的名稱,將數字陣列起始設從 1 開始,"Set inCount" 設 6 和 "inStart" 設 1.
10. 需要提供一個點提供文字輸入時放置的位置,使用 "RegionMassCenter" 去設定其範圍的中心點
11. 最後加入 "DrawString" filter 繪製文字在物件上, 將其影像和 "DrawRegion" filter 做連結
§ Macrofilter Main performs some sorting and selecting operations on the array of blobs
§ Macrofilter DrawResults performs drawing of results on the input image