halcon语法: 数据类型一、 运算符二、 选择结构三、 循环结构四、 数组五、 字符串六
一、数据类型
/H tʌpəl/
1.H tuple - 叫控制变量 (表示所有的基本数据,并且可以表现,变量数组)
/ H ɒbdʒɪkt/
2.Hobject - 叫图像变量(三大图像变量分别是 image(图片) region(区域) xld(轮廓)处理对象
/ˈɪmɪdʒ/ /ˈriːdʒən/ xld
整数: row :=10
浮点数 : col: =12.23
字符串: ms: ='hello'
定义数组:
整数数组: arry:= [1,2,3,4,5]
浮点数数组:arry: = [1.3,1.6,1.5]
字符串数组:arry: = ['jack', 'mike', 'jason']
在定义数组添加数: 有时会看到这个方式的的数组添加内容
arry1:=[] 等于 arry2:=[]
arry1[0]:=1 arry2:= [arry,1]
arry1[1]:=2 arry2:=[arry,2]
意思是arry1[0]:=1 数组的一个位数组内写入1,相同arry1:= [arry,1]也是向数组的第一位内写入1
arry1[1]:=2数组的二个位数组内写入2,相同arry2:= [arry,2]也是向数组的第二位内写入1
二、 运算符
1. 算数运算符 + - * / %(加减乘除余)
image1:=1+5 image2:=1.0 / 2 image2:=1.0%2 求余
2. 关系运算符 == 或 = !=或# 都可以 :=
image4:=(1==5)等于 image4:=(1=5)
image4:=(1!=5) 等于 image4:=(1#5)
对的到 true 1 错的到 false 0
3. 布尔值()
true 1(大部分可以默认==1)
false 0(大部分可以默认==0)
*三、 选择结构
if (rst7) 或 if (rst8)
msg:= 'ok' msg:='ok'
endif else
msg:='ng'
endif
if语句最长用的,一:if (rst7) 两种状态:1、进入msg:= 'ok',然后跳出语句。2、跳出语句
二:if (rst8) 两种状态:1、进入msg:= 'ok',然后跳出语句。2、 进入msg:='ng',然后跳出语句
3条优先进入第一条 true ,后面就不执行跳出选择
if (rst7)
elseif (rst6)
elseif(rst7)
elseif(rst8)
endif
rst1==几就进入第几条语句
switch (rst1)
case 1:
break
case 2:
break
case 3:
break
default:
break
endswitch
*四、 循环结构
while (0)
endwhile
x:=[]
y:=[]
/fə(r)/
for Index := 1 to 5 by 1
x[Index-1] := Index
y[Index-1] := Index - 1
endfor
for Index1 := 1 to 10 by 1 if (Index1 = 5) *break 跳回出for语句 continue 跳回到for重新执行 endif data := Index1 endfor
*五、 数组(数组的处理)
myArry := [1,3,5,7,9,2,4,6,8,10,1,2,3]
*返回一个图普(数组)的元素数量
tuple_length(myArry, Length)
*计算数组长度13个
tuple_max (myArry, Max)
*找最大值
_min (myArry, Min)
*找最小值
tuple_sort (myArry, Sorted)
*排序
tuple_uniq (Sorted, Uniq)
*去重
len := |myArry|
*计算数组长度13个 //模运算
myArry := []
*清空
六、 字符串
score := 89.7654
tuple_string(score, '.2f', String) *保留两位小数
浮点数转字符串