如何学好halcon机器视觉编程?

2025-10-26 13:44:53

1、要学好视觉,计算机语言是基础,建议先学会c语言或c#,没基础的可以买些教材或视频学习!

2、软件装好,环境搭建好了,就开始学习了,学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){..} 生效……

3、拿实际案例项目来演练,双目,球机跟踪,人脸识别,车牌识别,检测等项目

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢