標籤:color phi position 筆記 操作 cli 訪問 輸入
編寫一個簡單的HDevelop程式(獲得所有回形針的方向,並在中心位置顯示)
1.首先讀取一張圖片:read_image (Image, ‘G:/halcon/imgs/Clip.PNG‘) Image為輸出的變數名,後一個參數為圖片路徑
2.根據灰階值把回形針分離出來,使用灰階長條圖擷取閾值:threshold (Image, Region, 0, 56) Image為輸入的映像,Region為輸出的映像,0,56為閾值
3.connection運算元用來計算一個地區中聯通的部分,用不同顏色表示出來:connection(Region,ConnectedRegions)
Region為輸入的映像,ConnectedRegions為輸出的映像
4.根據特徵選取地區:select_shape (ConnectedRegions, SelectedRegions, ‘area‘, ‘and‘, 475, 595)
5.獲得回形針的方向和重心:
orientation_region(SelectedRegions,Phi)
area_center(SelectedRegions,Area,Row,Column)
運算元orientation_region會返回一個元組Phi,數組的每個元素值表示:對象元組SelecetdRegions中對應的每個地區的方向。
運算元area_center把每個地區的Area,Row,Column的值以元組的方式返回
6.在迴圈體中訪問檢測結果:
for Index := 0 to |Phi|-1 by 1
set_tposition(3600,Row[Index],Column[Index])
write_string(3600,deg(Phi[Index])+‘degrees‘)
endfor
運算元set_tposition把圖形視窗中的文本游標位置移動至索引Index所對應的地區的中心位置。3600是靶心圖表形視窗的視窗控制代碼(每個圖形視窗對應一個視窗控制代碼)Row[Index]是HDevelop語言的另一個運算元,通過它來訪問Tuple元組中的元素。
運算元write_string的作用是在圖形視窗的游標位置輸出一個指定字串。
運算元deg也是HDevelop語言的一部分,它的作用是把弧度轉化成角度。
運算元+的作用是將兩個字串合并成一個字串,在本例中,在兩個運算元+之前,HDevelop會自動進行類型轉換,把deg(Phi[Index])從double轉換成string類型
原圖:
:
Halcon自學筆記