1 编写一个简单 HDevelop程序 ...................................................................................................................1
1.1 启动一个新程序 ............................................................................................................................1
1.2 输入一个算子 ................................................................................................................................2
1.3 设置参数 ........................................................................................................................................3
1.4 获取帮助 ........................................................................................................................................3
1.5 继续编写程序 ................................................................................................................................4
1.6 理解图像显示 ................................................................................................................................5
1.7 核对变量 ........................................................................................................................................5
1.8 使用灰度直方图改善阈值 ............................................................................................................7
1.9 编辑程序行 ....................................................................................................................................7
1.10 重新执行程序 ..............................................................................................................................8
1.11 保存程序 ......................................................................................................................................8
1.12 根据特征值选择区域 ..................................................................................................................8
1.13 在循环体中访问检测结果 ........................................................................................................10
1.14 小结 ............................................................................................................................................11
2 HDevelop图形用户界面 ..........................................................................................................................12
2.1 主窗口 ..........................................................................................................................................12
2.1.1 窗口标题 ...........................................................................................................................12
2.1.2 菜单栏 ...............................................................................................................................13
2.1.3 工具栏 ...............................................................................................................................13
2.1.4 窗口区域 ...........................................................................................................................13
2.1.5 状态栏 ...............................................................................................................................13
2.1.6 窗口模式 ...........................................................................................................................15
2.2 菜单栏 ..........................................................................................................................................15
2.2.1 文件菜单 ...........................................................................................................................15
2.2.1.1 新程序 ....................................................................................................................16
2.2.1.2 打开程序 ................................................................................................................16
2.2.1.3 浏览例程 ................................................................................................................16
2.2.1.4 当前程序 ................................................................................................................17
2.2.1.5 插入程序 ................................................................................................................18
2.2.1.6 保存 ........................................................................................................................19
2.2.1.7 程序另存为 ............................................................................................................19
2.2.1.8 将函数另存为 ........................................................................................................19
2.2.1.9 保存所有 ................................................................................................................20
2.2.1.10 导出 ......................................................................................................................20
2.2.1.11 读取图像 ...............................................................................................................23
2.2.1.12 清除 ......................................................................................................................24
2.2.1.13 属性 … ..................................................................................................................24
2.2.1.14 打印 ......................................................................................................................25
2.2.1.15 退出 ......................................................................................................................26
2.2.2 编辑菜单 ...........................................................................................................................26
2.2.2.1 撤销 ........................................................................................................................27
2.2.2.2 重做 ........................................................................................................................27
halcon 工业应用实用教程
鸟叔编写 — QQ: 149189113
鸟叔 QQ 群: 120323602
2.2.2.3 剪切 ........................................................................................................................27
2.2.2.4 复制 ........................................................................................................................28
2.2.2.5 粘贴 ........................................................................................................................28
2.2.2.6 删除 ........................................................................................................................28
2.2.2.7 激活 ........................................................................................................................28
2.2.2.8 注销 ........................................................................................................................28
2.2.2.9 查找 / 替代 ...............................................................................................................28
2.2.2.10 重复查找 ..............................................................................................................30
2.2.2.11 设置 /清除书签 .....................................................................................................31
2.2.2.12 下一个书签 ..........................................................................................................31
2.2.2.13 前一个书签 ..........................................................................................................31
2.2.2.14 书签 ......................................................................................................................31
2.2.2.15 无效行 ..................................................................................................................32
2.2.2.16 参数选择 ..............................................................................................................33
2.2.3 执行菜单 ...........................................................................................................................49
2.2.3.1 运行 ........................................................................................................................49
2.2.3.2 执行到指针插入位置 ............................................................................................50
2.2.3.3 单步跳过函数 ........................................................................................................50
2.2.3.4 向前一步 ................................................................................................................50
2.2.3.5 单步跳入函数 ........................................................................................................50
2.2.3.6 单步跳出函数 ........................................................................................................50
2.2.3.7 停止 ........................................................................................................................50
2.2.3.8 调用堆栈 … ............................................................................................................51
2.2.3.9 设置 / 清除断点 .......................................................................................................51
2.2.3.10 活动断点 /使断点无效 .........................................................................................51
2.2.3.11 清除所有断点 ......................................................................................................51
2.2.3.12 断点 … ..................................................................................................................52
2.2.3.13 重置程序执行 ......................................................................................................52
2.2.3.14 复位过程执行 ......................................................................................................53
2.2.3.15 忽略该过程的执行 ..............................................................................................53
2.2.4 可视化菜单 ........................................................................................................................53
2.2.4.1 打开图形窗口 ........................................................................................................53
2.2.4.2 清空图形窗口 ........................................................................................................54
2.2.4.3 关闭图形窗口 ........................................................................................................54
2.2.4.4 显示 ........................................................................................................................54
2.2.4.5 窗口尺寸 ................................................................................................................55
2.2.4.6 图像尺寸 ................................................................................................................55
2.2.4.7 彩色数量 ................................................................................................................55
2.2.4.8 颜色 ........................................................................................................................55
2.2.4.9 画 ............................................................................................................................55
2.2.4.10 线宽 ......................................................................................................................55
2.2.4.11 形状 ......................................................................................................................55
2.2.4.12 查找表 ..................................................................................................................56
2
halcon 工业应用实用教程
鸟叔 QQ:149189113
鸟叔 QQ 群: 120323602
halcon 工业应用实用教程
鸟叔编写 — QQ: 149189113
鸟叔 QQ 群: 120323602
2.2.4.13 打印 ......................................................................................................................56
2.2.4.14 插入代码 … ..........................................................................................................56
2.2.4.15 位置精度 ..............................................................................................................56
2.2.4.16 交互记录 ..............................................................................................................57
2.2.4.17 立即应用 ..............................................................................................................57
2.2.4.18 更新窗口 ..............................................................................................................57
2.2.4.19 重置参数 ..............................................................................................................57
2.2.4.20 设置参数 … ..........................................................................................................57
2.2.4.20.4 缩放设置 ...........................................................................................................61
2.2.4.21 缩放窗口 ..............................................................................................................62
2.2.4.22 新缩放窗口 ..........................................................................................................63
2.2.4.23 灰度直方图 ..........................................................................................................63
2.2.4.24 特征直方图 ..........................................................................................................64
2.2.4.25 特征检验 ..............................................................................................................65
2.2.4.26 轮廓线 ..................................................................................................................65
2.2.4.27 保存窗口 ..............................................................................................................66
2.2.5 函数菜单 ............................................................................................................................66
2.2.5.1 创建新过程 ............................................................................................................67
2.2.2.2 复制 ........................................................................................................................67
2.2.5.3 编辑接口 … ............................................................................................................68
2.2.5.4 删除当前项 ............................................................................................................69
2.2.5.5 删除所有本地未使用项 ........................................................................................69
2.2.5.6 插入使用过的作为本地函数 ................................................................................69
2.2.5.7 插入所有作为本地项 ............................................................................................69
2.2.5.8 将所有项作为外部引用 ........................................................................................69
2.2.5.9 外部过程函设置 … ................................................................................................70
2.2.5.10 编辑过程 ..............................................................................................................70
2.2.6 算子菜单 ...........................................................................................................................70
2.2.6.1 控制 ........................................................................................................................71
2.2.6.2 开发 ........................................................................................................................73
2.2.6.3 1D Measuring, 3D Measuring, 3D Reconstruction, ...............................................75
2.2.6.4 过程 ........................................................................................................................76
2.2.7 建议菜单 ...........................................................................................................................76
2.2.7.1 前趋函数 ................................................................................................................76
2.2.7.2 后继函数 ................................................................................................................76
2.2.7.3 替代函数 ................................................................................................................76
2.2.7.4 参考 ........................................................................................................................77
2.2.7.5 关键字 ....................................................................................................................77
2.2.8 助手菜单 ...........................................................................................................................77
2.2.9 窗口菜单 ...........................................................................................................................77
2.2.9.1 打开图形窗口 ........................................................................................................78
2.2.9.2 打开程序列表 ........................................................................................................78
2.2.9.3 打开变量窗口 ........................................................................................................78
3
halcon 工业应用实用教程
鸟叔 QQ:149189113
鸟叔 QQ 群: 120323602
halcon 工业应用实用教程
鸟叔编写 — QQ: 149189113
鸟叔 QQ 群: 120323602
2.2.9.4 打开算子窗口 ........................................................................................................78
2.2.9.5 打开输出控制台 ....................................................................................................78
2.2.9.6 打开程序行视图 ....................................................................................................80
2.2.9.7 排列窗口 ................................................................................................................81
2.2.9.8 层叠窗口 ................................................................................................................82
2.2.9.9 单文档 /多文档 .......................................................................................................82
2.2.10 帮助菜单 .........................................................................................................................82
2.2.10.1 帮助 ......................................................................................................................82
2.2.10.2 HALCON 参考手册 ..............................................................................................83
2.2.10.3 HDevelop Use ’ s Guide..........................................................................................83
2.2.10.4 HDevelop 语言 .......................................................................................................83
2.2.10.5 搜索文档 ..............................................................................................................83
2.2.10.6 HALCON 新闻 ......................................................................................................83
2.2.10.7 关于 ......................................................................................................................83
2.3 工具栏 ...........................................................................................................................................83
2.4 程序窗口 ......................................................................................................................................85
2.4.1 编辑程序 ...........................................................................................................................86
2.4.1.1 对话框编辑器 ........................................................................................................87
2.4.1.2 全文编辑器 ............................................................................................................88
2.4.2 程序计数器、插入光标、断点 .......................................................................................91
2.4.3 右键菜单 ...........................................................................................................................91
2.4.4 创建函数 ...........................................................................................................................93
2.4.4.1 设置函数属性 .......................................................................................................94
2.4.4.2 设置函数参数 ........................................................................................................96
2.4.4.3 提交函数接口 ........................................................................................................98
2.4.5 编辑函数 ...........................................................................................................................98
2.4.6 函数文档 ...........................................................................................................................99
2.4.6.1 一般文档 ..............................................................................................................100
2.4.6.2 参数文档 ..............................................................................................................101
2.4.7 受保护的函数 .................................................................................................................103
2.5 算子窗口 ....................................................................................................................................105
2.5.1 输入算子或函数 .............................................................................................................106
2.5.2 参数 .................................................................................................................................107
2.5.3 控制按钮 .........................................................................................................................108
2.6 变量窗口 ....................................................................................................................................108
2.6.1 图形变量 .......................................................................................................................... 110
2.6.2 控制变量 .......................................................................................................................... 111
2.7 图形窗口 ....................................................................................................................................115
2.7.1 交互创建和操作 ROI 和XLD..........................................................................................120
2.8 帮助窗口 ....................................................................................................................................128
2.9 缩放窗口 ....................................................................................................................................131
2.10 灰度直方图窗口 .....................................................................................................................132
2.10.1 交互式可视化操作 ........................................................................................................135
4
halcon 工业应用实用教程
鸟叔 QQ:149189113
鸟叔 QQ 群: 120323602
halcon 工业应用实用教程
鸟叔编写 — QQ: 149189113
鸟叔 QQ 群: 120323602
2.10.1.1 阈值操作 .............................................................................................................137
2.10.1.2 缩放操作 ............................................................................................................138
2.11 特征直方图窗口 ......................................................................................................................139
2.12 特征检测窗口 ..........................................................................................................................140
2.13 轮廓线窗口 ..............................................................................................................................141
2.13.1 轮廓线窗口的 ROI菜单 .........................................................................................................143
2.13.2 轮廓线显示 ...........................................................................................................................143
2.13.3 数据源 ...................................................................................................................................143
2.13.4 轮廓线参数 ...................................................................................................................144
2.13.5 输出 ...............................................................................................................................144
2.13.6 统计 ...............................................................................................................................145
...........................................................................145
2.13.7 相机聚焦:如何测试图像的清晰度
5
halcon 工业应用实用教程
鸟叔 QQ:149189113
鸟叔 QQ 群: 120323602
1 编写一个简单 HDevelop程序
本章主要介绍怎么使用 HDevelop 来设计机器视觉应用程序。只要你跟着演示的运行例子练习,就
能轻松学会。 如下例,假定 HDevelop 的参数选择为默认值。每个刚安装好的
样的实例。在不确定当前设置的情况下,你可以在命名行使用下面这条代码来启动
hdevelop ‐reset_preferences
本章中介绍一个简单例子,目标是计算并确定回形针的位置和方向,回形针如下图:
HDevelop:
HALCON中都会有这
1.1 启动 一个新程序
启动 HDevelop ,或者 HDevelop 正在运行,可单击菜单栏中“文件 =>新程序”来启动一个新程序。
如果在当前程序中有未保存的更新, HDevelop 会自动提示你是否保存。 如果出现提示, 单击 “放弃 ”,
启动一个新程序
要是重要是窗口重叠,可以单击菜单栏中
“窗口 =>排列窗口 ”恢复到默认显示布局如下图:
首先要读取图像并把它存储在一个图形变量中。
我们也可以通过在程序中插入 “read_image ”算子来实现。在本例中,使用插入算子的方法。
我们可以把一幅图像拖拽到 HDevelop 窗口中。 当然
1.2 输入一个算子
点击进入 “算子窗口 ”的文本框,输入 “read_image”然后按回车键。也可以输入任何部分算子名,然
后按回车。 HDevelop 会根据你输入的部分算子名打开一个与之相应匹配的算子列表。这样可以很
容易的选择算子, 而且不用输入完整的算子。 当鼠标或光标移动到所要选的算子时, 该命令会变亮,
单击然后按回车即可执行该操作。如果不小心选错了算子,可以重新点击列表旁边的下拉箭头,选
择正确算子。如下图所示:
1.3 设置 参数
选择一个算子后,它的参数会显示在 “算子窗口 ”。它们被分为图形参数和控制参数。参数名旁边的
图形表示输入输出的参数类型(如下图所示) 。参数的右边显示的是语义类型。
值。
文本框中设置参数
在 Image 文本框中输入 Image,则图像将被保存到这个变量中。 然后,在 FileName
文本框中输入'Clip' 。 点击 “确定 ”或按回车键,把算子输入到程序。 点击帮助按钮,
可以获取该算子的详细信息:
1.4 获取 帮助
HDevelop 提供了一种便捷的访问算子帮助文档的方法。在程序编辑器中双击程序的首行。相应的
算子将会显示在算子窗口,这个时候点击“帮助
对应的文档,如下图所示:
”打开 HDevelop 的帮助窗口,它会自动跳转到算子