本文最后更新于:2024年5月7日 下午
本文记录 Halcon 中的基础语法。
变量的创建与赋值
- Image变量的赋值
1
| read_image(Image,'test.jpg')
|
- 区域的赋值
1 2
| gen_rectanglel(Rectangle,100,100,30) CopyRegion := Rectangle
|
- 亚像素数据的赋值
1 2
| gen_contour_region_xld(Rectangle,Contours, 'border') CopyXLD := Contours
|
- Tuple的创建赋值
1 2 3
| EmptyTuple := [] Value := 1 ValueArray := [2, 10]
|
- 创建相同值的数组
1
| tuple_gen_const(10,5,Newtuple)
|
if 语句
- if 语句用于条件选择,即根据不同条件选择执行不同的主体语句
- 语法:
1 2 3 4 5 6 7
| if(条件) 主体语句 elseif(条件) 主体语句 else 主体语句 endif
|
for 循环语句
- 介绍 HALCON的 for 循环语句。在编程中经常会用到循环语句,来进行循环的操作。
1 2 3
| for(Index := StartNumber to EndNumber by Step) 循环的语句 endfor
|
中断语句
- 在HALCON 中,continue 和 break 是用来继续运行下次循环和跳出当前循环的,break 和 contiune 可以用在 for、while和 switch 循环中,起到控制序运行的作用。
1 2 3 4 5 6 7 8 9 10
| Array3:=[] for i: =I to Number by 1 if(i=3) continue endif if(i = 7) break endif Array3:[Array3, i] endfor
|
while 循环语句
- while 循环语句是用于多次循环的语句,通过判断条件来控制循环是继续还是结束;当条件为正确时继续执行循环,当条件为错误时退出循环。
1 2 3
| while(条件) 循环体语句 endwhile
|
repeat until 循环语句
HALCON 中还有一种 repeat until 循环结构
- repeat 和 until 类似于 C 语言中的 do while,但是有所不同。do while 语句是 while 的条件为正确的时候,继续执行,而 repeat until 语句是当 until 语句为正确的时候就跳循环。
- 和 while相比 repeat until 是先执行 repeat 语句,然后再进行条件判断,而 while 是直接进行判断。
switch 语句
- switch 语句是一个条件选择语句,当 if 多层嵌套时,可以用 switch 来代替,使得结构简单。
1 2 3 4 5 6 7 8 9 10
| switch(条件) case 常量表达式一: 主体语句 break case常量表达式二: 主体语句 break default 主体语句 endswitch
|
try catch 语句
- Halcon 的异常处理语句,可以在程序出错的情况下不中断程序执行,捕获并处理异常
1 2 3 4 5
| try 主体语句 catch (Exception) 异常处理语句 endtry
|
参考资料
文章链接:
https://www.zywvvd.com/notes/coding/halcon/halcon-grammar/halcon-grammar/