操作方法
要学好视觉,计算机语言是基础,建议先学会c语言或c#,没基础的可以买些教材或视频学习!
软件装好,环境搭建好了,就开始学习了,学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){..} 生效……
拿实际案例项目来演练,双目,球机跟踪,人脸识别,车牌识别,检测等项目