第2章-HALCON编程基础课件.pptx
《第2章-HALCON编程基础课件.pptx》由会员分享,可在线阅读,更多相关《第2章-HALCON编程基础课件.pptx(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 HALCON编程基础编程基础l HALCON软件的编程环境软件的编程环境Hdevelop是交互式的,它的操作窗口和是交互式的,它的操作窗口和编程界面简洁、易操作。本章主要介绍编程界面简洁、易操作。本章主要介绍Hdevelop的使用,并介绍的使用,并介绍HALCON的控制语句,以及编程环境下图像的读取、显示和转换。的控制语句,以及编程环境下图像的读取、显示和转换。 HALCON编程基础与工程应用编程基础与工程应用2.12.22.32.4HDevelop应用界面介绍HALCON控制语句 HALCON算子 HALCON图像读取、显示和转换Blob分析第第2章章 HALCON编程基础编程基
2、础HALCON编程基础与工程应用编程基础与工程应用2.1 HDevelop应用界面介绍应用界面介绍l HDevelop图形组件是开始视觉处理算法的一个很好的工具,其类似图形组件是开始视觉处理算法的一个很好的工具,其类似于于VC、VB、Delphi等编译环境,它有自己的交互式界面,可以编译等编译环境,它有自己的交互式界面,可以编译和测试视觉处理算法,可以方便查看处理结果,也可以导出算法代码。和测试视觉处理算法,可以方便查看处理结果,也可以导出算法代码。HALCON编程基础与工程应用编程基础与工程应用1. HDevelop预览预览HALCON安装完成后,点击图标运行安装完成后,点击图标运行HALC
3、ON软件,下面介绍其软件,下面介绍其主要的界面。主要的界面。1.主界面主界面整个界面分为标题栏、菜单栏、工具栏、状态栏和四个活动界面窗整个界面分为标题栏、菜单栏、工具栏、状态栏和四个活动界面窗口,四个活动界面窗口分别是图像变量窗口、算子窗口、变量窗口口,四个活动界面窗口分别是图像变量窗口、算子窗口、变量窗口和程序窗口,如图和程序窗口,如图2-1所示。如果窗口排列不整齐,可以选择菜单所示。如果窗口排列不整齐,可以选择菜单栏栏窗口窗口排列窗口,重新排列窗口。排列窗口,重新排列窗口。图 2-1 HALCON主界面HALCON编程基础与工程应用编程基础与工程应用1. HDevelop预览预览2.菜单栏
4、菜单栏菜单栏包含所有菜单栏包含所有HDevelop的功能命令,单击打开后有下拉菜单,的功能命令,单击打开后有下拉菜单,如图如图2-2所示。所示。图2-2 菜单栏4.状态栏状态栏状态栏显示程序的执行情况,如图状态栏显示程序的执行情况,如图2-4所示。所示。图2-3 工具栏3.工具栏工具栏工具栏包含了一系列常用功能的快捷方式,如图工具栏包含了一系列常用功能的快捷方式,如图2-3所示。所示。图2-4 状态栏HALCON编程基础与工程应用编程基础与工程应用1. HDevelop预览预览5.打开一个例程打开一个例程HALCON提供了大量基于应用提供了大量基于应用的示例程序,下面打开一个的示例程序,下面打
5、开一个HALCON自带例程,简单了解自带例程,简单了解一下一下HALCON程序的结构。程序的结构。从菜单栏从菜单栏文件文件浏览程序浏览程序打开打开一个例程,比如打开一个例程,比如打开ball.hdev,如图如图2-5,2-6所示。点击工具栏所示。点击工具栏“运行运行”工具图标,运行程序,结工具图标,运行程序,结果如图果如图2-7所示。所示。图2-5 浏览例程HALCON编程基础与工程应用编程基础与工程应用1. HDevelop预览预览图2-7 例程运行结果图2-6 打开例程HALCON编程基础与工程应用编程基础与工程应用 2. HDevelop窗口介绍窗口介绍1.HDevelop算子窗口算子窗
6、口算子窗口显示的是算子的重要数据,包含了所有的参数,各个变量算子窗口显示的是算子的重要数据,包含了所有的参数,各个变量的型态,以及参数数值,如图的型态,以及参数数值,如图2-8所示。这里会显示参数的默认值,所示。这里会显示参数的默认值,以及可以选用的数值。每一个算子都有联机帮助。另一个常用的是以及可以选用的数值。每一个算子都有联机帮助。另一个常用的是算子名称的查询显示功能,在一个算子名称的查询显示功能,在一个combo box里,只要键入部分字里,只要键入部分字符串甚至开头的字母,即可显示所有符合名称的算子供选用,如图符串甚至开头的字母,即可显示所有符合名称的算子供选用,如图2-9所示。所示。
7、图2-8 算子窗口HALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍2.HDevelop程序窗口程序窗口 程序窗口是用来显示一个程序窗口是用来显示一个HDevelop程序。它可以显示整个程程序。它可以显示整个程序或是某个运算符。窗口左侧是一些控制程序执行的指示符号。序或是某个运算符。窗口左侧是一些控制程序执行的指示符号。HDevelop刚启动时,可以看到一个绿色箭头的程序计数器刚启动时,可以看到一个绿色箭头的程序计数器(program counter,简称,简称 PC),一个插入符号,还可以设一),一个插入符号,还可以设一个断点(个断点(breaking p
8、oint),窗口右侧显示程序代码,如图),窗口右侧显示程序代码,如图2-10所示。所示。图2-9 算子查询HALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍在程序编辑窗口点击右键,在下拉菜单显示程在程序编辑窗口点击右键,在下拉菜单显示程序运行调试中的一些设置,如图序运行调试中的一些设置,如图2-11所示。所示。图2-10 程序窗口图2-11 程序调试设置HALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍HDevelop启动以后,就可以开始从程序窗口输入,逐步建立一个启动以后,就可以开始从程序窗口输入,逐步建立一个HDeve
9、lop 程序。要在程序中新增一行,比如加一个算子,有以下两程序。要在程序中新增一行,比如加一个算子,有以下两个步骤。个步骤。(1)首先要将光标放在新增的地方,用键盘的)首先要将光标放在新增的地方,用键盘的Shift键加上的鼠标左键加上的鼠标左 键,点在要加入的地方,然后从算子菜单中选择,或是由算子窗口键,点在要加入的地方,然后从算子菜单中选择,或是由算子窗口来选用想要加入的数据。来选用想要加入的数据。(2)新的算子会出现在算子窗口中,包含它的参数等数据,此时按)新的算子会出现在算子窗口中,包含它的参数等数据,此时按 下下“输入输入”,就会将它加入程序代码中,成为新增的一行;如果按下,就会将它加
10、入程序代码中,成为新增的一行;如果按下“确定确定”,除了程序代码会新增以外,同时也会执行程序。如果按的,除了程序代码会新增以外,同时也会执行程序。如果按的是是“应用应用”,算子不会新增到程序中,但是会被执行,这样就可以方,算子不会新增到程序中,但是会被执行,这样就可以方便又有效的测试修改参数的结果。便又有效的测试修改参数的结果。如果只要执行某一行,可以将程序计数器(如果只要执行某一行,可以将程序计数器(PC)置于要执行的那行)置于要执行的那行前,再用鼠标左键在该行前单击,然后按前,再用鼠标左键在该行前单击,然后按HDevelop工具栏的工具栏的“单步跳单步跳过函数过函数”,如果单击,如果单击“
11、运行运行”,则程序代码都会执行,直到一个断点或,则程序代码都会执行,直到一个断点或是按是按“停止停止”将其中止。将其中止。HALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍3. HDevelop变量窗口变量窗口变量窗口显示了程序在执行时产生的各种变量,包括图像变量和控变量窗口显示了程序在执行时产生的各种变量,包括图像变量和控制变量,如图制变量,如图2-12所示。在变量上用鼠标双击,即可显示变量值,所示。在变量上用鼠标双击,即可显示变量值,如图如图2-13所示。如果变量值是图像变量所示。如果变量值是图像变量,鼠标双击,会显示在图形鼠标双击,会显示在图形窗口里。
12、窗口里。图2-12 变量窗口图2-13 变量值HALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍 4.HDevelop图形窗口图形窗口图形窗口用来显示图像化变量数据,如图图形窗口用来显示图像化变量数据,如图2-14所示。所示。 图2-14 图形窗口图2-15 可视化菜单(1)图形窗口可视化)图形窗口可视化图形窗口可视化的方式可以依据需要来调图形窗口可视化的方式可以依据需要来调整,相关功能位于整,相关功能位于“可视化可视化”菜单下,如图菜单下,如图2-15所示。可以开启数个图形窗口,并且所示。可以开启数个图形窗口,并且自行选用要用的窗口。自行选用要用的窗口。H
13、ALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍图2-16 图形窗口的3D模式(2)图形窗口的)图形窗口的3D模式模式点击图点击图2-14图形窗口右上角图形窗口右上角“3D点图模式点图模式”,可以将图形窗口变为,可以将图形窗口变为3D模式,如图模式,如图2-16所示。所示。HALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍 图2-17 灰度直方图(3)HDevelop灰度灰度直方图直方图从菜单栏从菜单栏可视化菜可视化菜单单灰度直方图,打灰度直方图,打开灰度直方图功能窗开灰度直方图功能窗口,进行设置,如图口,进行设置,如图2
14、-17所示。所示。HALCON编程基础与工程应用编程基础与工程应用2. HDevelop窗口介绍窗口介绍 图2-18 特征直方图(4)HDevelop特征特征直方图直方图从菜单栏从菜单栏可视化菜可视化菜单单特征直方图,打特征直方图,打开特征直方图功能窗开特征直方图功能窗口,进行设置和编辑,口,进行设置和编辑,并可根据编辑的直观并可根据编辑的直观结果,插入程序代码。结果,插入程序代码。如图如图2-18所示。所示。HALCON编程基础与工程应用编程基础与工程应用3. HDevelop菜单介绍菜单介绍 图2-19 编辑菜单1.编辑菜单编辑菜单编辑菜单用于编辑菜单用于HDevelop编程时的编辑使用,
15、如图编程时的编辑使用,如图2-19所示。所示。HALCON编程基础与工程应用编程基础与工程应用3. HDevelop菜单介绍菜单介绍 图2-20 执行菜单2.执行菜单执行菜单执行菜单用于程序调试时的设置及运行,如图执行菜单用于程序调试时的设置及运行,如图2-20所示。所示。HALCON编程基础与工程应用编程基础与工程应用3. HDevelop菜单介绍菜单介绍 图2-21 过程菜单3.过程菜单过程菜单过程菜单用于过程菜单用于HDevelop中创建一个过程或者开发新的算子,如图中创建一个过程或者开发新的算子,如图2-21所示。所示。HALCON编程基础与工程应用编程基础与工程应用3. HDevel
16、op菜单介绍菜单介绍 图2-22 助手菜单4.助手菜单助手菜单打开菜单栏打开菜单栏助手,助手菜单是特有的快速原型化工具,具有直助手,助手菜单是特有的快速原型化工具,具有直观可视的特点,可以进行数据分析和特征检测,包括图像获取助观可视的特点,可以进行数据分析和特征检测,包括图像获取助手、匹配助手、摄像机标定助手和测量助手。如图手、匹配助手、摄像机标定助手和测量助手。如图2-22所示。所示。HALCON编程基础与工程应用编程基础与工程应用2.2 HALCON控制语句控制语句 l HALCON提供的控制流与提供的控制流与C/C+的用法类似。一般成对存在,一个的用法类似。一般成对存在,一个是开始的标志
17、,一个是结束的标志。也就是说有是开始的标志,一个是结束的标志。也就是说有if就有就有endif,有,有while就有就有end while。控制语句类型主要由以下几种组成:。控制语句类型主要由以下几种组成:l (1)if条件语句条件语句 ;l (2)switch多分支条件语句多分支条件语句 ;l (3)while循环语句;循环语句;l (4)for循环语句;循环语句;l (5)中断语句。)中断语句。HALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句1if条件语句条件语句If条件语句有三种常用的表达形式,下面一一列出。条件语句有三种常用的表达形式,下面一一列出。(1)if(表
18、达式表达式) 语句组语句组1 endif语义为:判断表达式的值,如果表达式的值非零则执行语句组语义为:判断表达式的值,如果表达式的值非零则执行语句组1,否,否则直接转到则直接转到endif。【例【例2-1】if条件语句实例条件语句实例1*赋值赋值cont:=2 *判断变量判断变量cont的值是否大于等于的值是否大于等于1,大于等于大于等于1就执行语句就执行语句cont:=cont-1if(cont=1)cont:=cont-1HALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句*if条件语句结束标志条件语句结束标志endif(2)if (表达式表达式) 语句组语句组1 els
19、e 语句组语句组2 endif语义为语义为:判断表达式的值,如果表达式的值非零则执行语句组判断表达式的值,如果表达式的值非零则执行语句组1,否则,否则执行语句组执行语句组2。【例【例2-2】if条件语句实例条件语句实例2cont:=2 *判断变量判断变量cont的值是否大于等于的值是否大于等于1,大于等于大于等于1就执行语句就执行语句cont:=cont-1HALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句if(cont=1)cont:=cont-1*cont的值小于的值小于1就执行语句就执行语句cont:=cont+1elsecont:=cont+1*if条件语句结束标志
20、条件语句结束标志endif(3)if (表达式表达式1) 语句组语句组1 elseif (表达式表达式2) 语句组语句组2 else 语句组语句组3 endif HALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句语义为:判断表达式的值,表达式语义为:判断表达式的值,表达式1的值非零则执行语句组的值非零则执行语句组1。表达式。表达式1的值为零而表达式的值为零而表达式2的值非零则执行语句组的值非零则执行语句组2,两个表达式的值都为,两个表达式的值都为零则执行语句组零则执行语句组3。【例【例2-3】if条件语句实例条件语句实例3cont:=2 *判断变量判断变量cont是否大于等
21、于是否大于等于1,大于等于大于等于1就执行语句就执行语句cont:=cont-1if(cont=1)cont:=cont-1*判断变量判断变量cont是否小于等于是否小于等于-1,小于等于小于等于-1就执行语句就执行语句cont:=cont+1elseif(cont=-1)cont:=cont+1*如果如果cont大于大于-1小于小于1执行语句执行语句 cont:=cont+2HALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句else cont:=cont+2*if条件语句结束标志条件语句结束标志endif 2switch多分支条件语句多分支条件语句当当if.else条件语
22、句使用多层嵌套可以用条件语句使用多层嵌套可以用switch多分支条件语句代替。多分支条件语句代替。格式:格式:switch(条件条件) case 常量表达式常量表达式1: 语句语句1 break . HALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句 case 常量表达式常量表达式n: 语句语句n break default : 语句语句n+1 endswitch语义为:将条件值与其后的常量表达式的值逐个比较,当条件的值与语义为:将条件值与其后的常量表达式的值逐个比较,当条件的值与其后的某个常量表达式的值相等时就执行常量表达式后面的所有语句。其后的某个常量表达式的值相等时就
23、执行常量表达式后面的所有语句。每个每个case语句只是一个入口标号,所以不能确定执行的终止点,如果语句只是一个入口标号,所以不能确定执行的终止点,如果只想执行一条只想执行一条case语句,则应该在语句,则应该在case语句的最后使用语句的最后使用break语句结束语句结束switch条件语句。如果条件值与所有的常量表达式的值均不相等则执条件语句。如果条件值与所有的常量表达式的值均不相等则执行行default后面的语句。后面的语句。switch语句中所有常量表达式的值应该是不重复的常量。因为语句中所有常量表达式的值应该是不重复的常量。因为switch语句无法处理浮点数所以条件值必须是整数。如果条
24、件选项涉及取值语句无法处理浮点数所以条件值必须是整数。如果条件选项涉及取值范围、浮点数或两个变量的比较则应该使用范围、浮点数或两个变量的比较则应该使用if.else条件语句。条件语句。 HALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句 【例【例2-4】switch条件语句实例条件语句实例I:=5*I的值与其后的常量表达式的值逐个比较的值与其后的常量表达式的值逐个比较switch(I)case 1:I:=I-3*中断语句,跳出中断语句,跳出switch语句语句break*I的值与常量表达式的值相等,执行后面的语句的值与常量表达式的值相等,执行后面的语句case 5:I:=I
25、+5break*I的值与其后所有常量表达式的值都不相等则执行的值与其后所有常量表达式的值都不相等则执行default语句语句default:I:=2*IHALCON编程基础与工程应用编程基础与工程应用1. 条件语句条件语句*switch语句结束标志语句结束标志endswitchHALCON编程基础与工程应用编程基础与工程应用2. 循环控制语句循环控制语句1while循环语句循环语句格式格式:while (条件条件) 循环体语句循环体语句 endwhile语义为:首先对条件值进行判断,若条件值非零则重复执行循环语句,语义为:首先对条件值进行判断,若条件值非零则重复执行循环语句,直到条件值为零时退
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HALCON 编程 基础 课件
限制150内