標籤:img 資料 hal rem 座標 size 數組 ons 運算
assign : 對資料賦值,對數組的初始化。但不能對數組中的某一個值進行賦值。
舉例:Tuple1 := [1,0,3,4,5,6,7,8,9] // 對數組進行初始化
Val := sin(1.2) + cos(1.2) // 對某一個值進行賦值
Tuple2 := [] // 數組定義
assign_at : 對數組中的某一個值進行賦值。
舉例:Tuple1[1] := 2 // 將Input 和Result 賦值為Tuple1
2.Insert : 對數組中的某一個值進行賦值。
Tuple1 := [1,0,3,4,5,6,7,8,9]
Tuple1[3]:=2
顯示結果為:[1, 0, 3, 2, 5, 6, 7, 8, 9],即對索引3後面元素,數組Tuple1中第4個元素賦值2.
example:
read_image (Mreut, ‘mreut‘) //讀入映像
threshold (Mreut, Region, 190, 255) //閾值化,輸出閾值在190-255的Regions
Areas := [] //定義數組Areas
for Radius := 1 to 50 by 1 //迴圈
dilation_circle (Region, RegionDilation, Radius) //利用半徑為Radius的圓對Region進行膨脹運算,輸出
RegionDilation,輸出形式仍然為Region。
area_center (RegionDilation, Area, Row, Column) //輸出地區的面積和中心像素座標
Areas[Radius-1] := Area //對數組Areas的第Radius-1個元素進行賦值
endfor
3.基本數組操作極其對應的運算元
t := [t1,t2] t1,t2串連成新的數組 對應運算元:tuple_concat
i := |t| 得到數組長度 tuple_length
v := t[i] 選取第i個元素0<= i < |t| tuple_select
t := t[i1:i2] 選取i1到i1的元素 tuple_select_range
t := subset(t,i) 選取數組t中的第i個元素 tuple_select
t := remove(t,i) 去除數組t中的第i個元素 tuple_remove
i := find(t1,t2) 找到t2數組在t1數組中出現位置索引
(or -1 if no match) tuple_find
t := uniq(t) 在t數組中把連續相同的值只保留一個 tuple_uniq
4.建立數組
(1)gen_tuple_const函數
tuple := gen_tuple_const(100,4711) //建立一個具有100個元素的,每個元素都為4711的資料
tuple_new := gen_tuple_const(|tuple_old|,4711) //建立一個和原來資料長度一樣的資料
上面的函數也可以通過如下運算式實現:tuple_new := (tuple_old * 0) + 4711
(2)當數組中的元素不同時,需要用迴圈語句對數組中的每一個元素賦值
例如:tuple := [] //建立空數組
for i := 1 to 100 by 1 //建立步長為1的迴圈
tuple := [tuple,i*i] //將i方的值賦給數組的第i個元素
endfor
Halcon學習(三)賦值與數組操作