1.assign運算元:assign(input, result),對變數以及表示式或陣列賦值
例: assign(2*(x)+(y),z)
等同於z:=2*(x)+(y)
2.初始化:tuple1 := [1,0,3,4,5,6,7,8,9]
// 對陣列進行初始化
val := sin(1.2) + cos(1.2)
// 對某乙個值進行賦值
tuple2 :=
// 陣列定義
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
// htuple→vc 資料型別轉換
htuple htuple = 1234;
int i = htuple[0].i(); // i=1234
long l = htuple[0].l(); // l=1234
long lnumber = htuple.num(); // lnumber=1,資料個數
double d = htuple[0].d(); // d=1234.0000
htuple = "1234";
cstring strbuffer = htuple[0].s(); // strbuffer="1234"
// vc→htuple 資料型別轉換
int ii = 1234;
double dd = 1234.1234;
cstring strtemp = "halcon";
htuple htuple2;
htuple2[0] = ii; // htuple2[0].i()=1234
htuple2[1] = dd; // htuple2[1].d()=1234.1234
htuple2[2] = strtemp.getbuffer(); // htuple2[2].s()="halcon"
i = htuple2[0].i(); // i=1234
d = htuple2[1].d(); // d=1234.1234
strbuffer = htuple2[2].s(); // strbuffer="halcon"
lnumber = htuple2.num(); // lnumber=3,資料個數
另外:halcon 的路徑類似為「d:/addr/a.jpg」,即以「/」為分隔符。
和 vc 所用的「\」不同,需要轉換。
halcon學習基礎
x 16 y 9 result 10 sqrty result sqrt y z 90 180 z result sin z z result sin z sin y tuple1 1,2,3,4,5,6,7,8,9 insert tuple1,10,9,outtuple outtuple 10 1...
halcon學習資料
目錄 論壇培訓 部落格文件 halcon學習網 韓兆新的 majunfu life and coding zhaojun的部落格 風韻無聲 騎螞蟻上高速的部落格 小馬 xiaolv2 小新識圖 程式園 程式設計師的世界 章柯淵的部落格 注 介紹了halcon與mfc混合程式設計!fred 的竊竊私語...
HALCON學習筆記3
來自黑土的halcon學習教程,求鞍點 讀取影象 read image image,landmarks 獲得影象大小 get image size image,width,height 關閉影象視窗 dev close window 開啟指定大小顏色的視窗 dev open window 0,0,w...