arduino 机器视觉编程_如何学好halcon机器视觉编程-百度经验

软件装好,环境搭建好了,就开始学习了,学halcon要掌握以下内容

1、Halcon的语法结构特点;

类似于Pascal 与 Visual Basic,大部分的语句是Halcon提供的算子,此外也包含了少部分的控制语句;

不允许单独声明变量;

提供自动的内存管理(初始化、析构及OverWrite),但句柄则需要显示释放;

C++(算子模式)

通过代码导出,以C++为例,默认导出为算子型的语法结构,而非面向对象的;在此模式下,全部函数声明为全局类型,数据类型只需要用Hobject、HTuple两类类型进行声明;

C++(面向对象)

可以以面向对象的方式重写代码,也即利用类及类的成员函数;

在这种模式下,控制变量的类型仍未HTuple,而图形数据可以由多种类型,如HImage等;

其他语言(略)

HImage 可以查看halcon中类相关的内容

2、Halcon的数据类型;

两类参数:

1、图形参数Iconic (image, region, XLD)

2、与控制参数Control (string, integer, real, handle),

在Halcon算子的参数中,依次为:输入图形参数、输出图形参数、输入控制参数、输出控制参数;并且其输入参数不会被算子改变。

在这里就不具体讲了。

3、Halcon的基本语句;

1、标准赋值

Ø assign(Input, Result)     //编辑形式,永远都是输入在前,输出在后

1: assign(sin(x) + cos(y), u)

Ø Result := Input              //代码形式

1: u := sin(x) + cos(y)    //与之前的assign(sin(x) + cos(y), u)是等价的

2、元组插入赋值

Ø insert(Tuple, NewValue, Index, Tuple)     //编辑形式

1: Tuple := [1,2,3,4,5,6,7,8,9]   2: insert(Tuple,0,3,Tuple)

显示结果为:[1, 2, 3,0, 5, 6, 7, 8, 9]

……

4、HDevelop language(结构语句);

1) if ... endif / if ... else ... endif / if ... elseif ... else ... endif

2) for ... endfor

3) while ... endwhile

4) repeat ... until(循环体至少被执行一次,直到满足条件时退出。等同于C语言的do...while语句)

此外,也有关键字 break、continue、return、exit、stop 用来控制语句的执行;

5、异常处理

try ... catch ... endtry:异常算子处理句柄

throw:允许处理用户定义的意外情况。

用MFC写的,我在捕获异常提时候,都需要在前面使用HException::InstallHHandler(&CPPExpDefaultExceptionHandler);才能全try{..}catch(HException &except){..} 生效……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值