halcon视觉第一讲 halcon语法


halcon基本语法

等号: :=

不等号: #

注释符: *

字符串赋值: str:=’halcon’

等于比较符: if(X=10)

与: if(A>1 and A<30)

或: if(A>1 or A<30)

求反: if(not(A=10))

For 循环

for I := 0 to NumBalls - 1 by 1

endfor

While 循环

wile (x == 1)

Endwhile

异常获取:

Try

catch(Exception)

Endtry

Switch多分支:

switch(Index)

case 1:

break

case 2:

break

case 3:

break

default:

break

endswitch

Tuple数组

*将一个Tuple数组赋值
Tuple1 := [1, 0, 3, 4, 5, 6, 7, 8, 9]

*给Tuple数组元素赋值
Tuple1[1] := 2
将第1个元素赋值为2,改完后值为[1, 2, 3, 4, 5, 6, 7, 8, 9]

*批量改变数组元素的值
Tuple1[1,3,5] := ‘abc’
将数组中的第1,第3和第5个的值改成abc,改完后值为[1, ‘abc’, 3, ‘abc’, 5, ‘abc’, 7, 8, 9]

*批量给Tuple数组赋值,其值为0到1000连续值
Tuple3 := [0:10000]

*批量给Tuple数组赋值,其值从3到200,步长为1
Tuple4 := [3:1:200]
执行后值为[3,….,200]

*批量给Tuple数组赋值,其值为100到-100的连续值,步长为-10
Tuple5 := [100:-10:-100]

*对两个Tuple数组进行合并操作
TupleInt1 := [3,1,2,9,1]
TupleInt2 := [10,2,4,3,2]
tuple_union (TupleInt1, TupleInt2, UnionInt)
执行之后值为[3,1,2,9,10,4],也就是只保留不一样的数值

*对两个Tuple数组进行交集操作
TupleInt3 := [3,1,2,9,1]
TupleInt4 := [10,2,4,3,2]
tuple_intersection(TupleInt3, TupleInt4, IntersectionInt)
执行之后值为[3,2],也就是相同的元素保留,不同的元素丢弃

*对Tuple数组元素进行替换
OriginalTuple := [0,1,2,3,4,5]
tuple_replace(OriginalTuple, [0,1], [‘x’,’y’], Replaced)
执行之后值为[‘x’,’y’,2,3,4,5]

*向Tuple数组中插入数值
OriginalTuple := [0,1,2,3,4,5]
tuple_insert(OriginalTuple, 3, ‘x’, InsertSingleValueA)
执行之后值为[0,1,2,’x’,3,4,5],也就是在下标3的位置插入x

字符数字格式化

i1 := 123$’#o’ //8进制,0为前缀

i2 := 123$’#x’ //16进制,0x为前缀

i3 := 123$’#X’ //16进制,0x为前缀

i4 := 123$’#f’ //double型,默认保留小数点后6位

i5 := 123$’#g’ //使数字始终保持6位,不足补零

i6 := 123$’#G’ //使数字始终保持6位,不足补零

i7 := 123$’#e’ //转换成科学计数

i8 := 123$’#E’ //转换成科学计数

d1 := 123$’6’//小于6位文本右对齐,大于不受影响

d2 := 123$’-6’//小于6位文本左对齐,大于不受影响

d3 := 123$’.6’//小于6位左边补零,大于不受影响

d4 := 12345$’10.5’//小于10位文本右对齐,小于5位左边补零,大于不受影响

s1 := ‘Hugo’$’10’ //文本右对齐

s1 := ‘Hugo’$’-10’ //文本左对齐

dev_update_off和dev_update_on

dev_update_off 实际上是三条语句构成

  1. dev_update_pc (‘off’) 在程序执行期间,控制程序计数器的更新
  2. dev_update_var 在程序执行期间切换变量窗口的更新或关闭,则每当程序修改变量时,更改变量窗口(图标和控件变量)的内容
  3. dev_update_time 控制是否显示算子的执行时间

一般写程序之前调用dev_update_off,写完后调用dev_update_on


文章作者: zhouhui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zhouhui !
  目录