NI Vision图像处理开发宝典(第二版)
目录
NI Vision图像处理开发宝典(第二版) 1
版权声明 4
读者利益 6
感谢 6
前言 6
NI Vision图像处理宝典(第二版)与第一版区别 7
第1章 结构框架 8
1.1 编程风格 8
1.2 编程框架 11
1.3 通用图像处理平台项目结构 20
1.4 通用图像处理平台流程图 25
1.5 通用图像处理平台结构框架-生产者消费者 26
1.6 双相机或多相机结构框架 29
第2章 功能函数与主程序 33
2.1 功能函数与模块 33
2.1.1 相机驱动程序 35
2.1.2 Datalog数据记录 35
2.1.3 Sub VI子函数 42
2.2 主程序与功能实现 75
2.2.1 主程序前面板说明 77
2.2.2 主程序初始化 79
2.2.3 前面板事件响应 102
2.2.4 程序退出 169
2.2.5 单相机程序框图与双相机程序框图 172
第3章 图像处理实例 174
3.1 尺寸测量 174
3.1.1 视觉助手生成脚本 174
3.1.2 视觉助手生成LabVIEW代码 176
3.1.3 生成LabVIEW代码的优化 177
3.1.4 通用图像处理平台中加载图像处理-clamp函数 190
3.1.5 自动运行 190
3.2 二维码识别 192
3.2.1 视觉助手生成脚本 192
3.2.2 视觉助手生成LabVIEW代码 195
3.2.3 生成LabVIEW代码的优化 197
3.2.4 通用图像处理平台中加载图像处理-QR识别函数 206
3.2.5 数据判断 207
3.2.5 图像参数 207
3.2.6 初始化 210
3.2.7 结果保存 211
3.2.8 自动运行 211
3.3 模式匹配 212
3.3.1 视觉助手生成脚本 213
3.3.2 视觉助手生成LabVIEW代码 215
3.3.3 生成LabVIEW代码的优化 219
3.3.4 通用图像处理平台中加载图像处理-模式匹配函数 224
3.3.5 添加匹配边框 229
3.3.6 ROI赋值 233
3.3.7 模板文件的制作 237
3.3.8 自动运行效果 256
3.4 形状检测-圆 258
3.4.1 视觉助手生成脚本 258
3.4.2 视觉助手生成LabVIEW代码 260
3.4.3 生成LabVIEW代码的优化 261
3.4.4 通过图像处理平台加载图像处理-形状检测查找圆函数 268
3.4.5 初始化控件 269
3.4.6 图像参数值改变 269
3.4.7 ROI赋值 270
3.4.8 数据判断 274
3.4.9 结果保存 275
3.4.10 简单标定 275
3.4.11 标定数据标定 275
3.4.12 运行效果 287
3.5 LED编带机方向判断 288
3.5.1 视觉助手生成脚本 289
3.5.2 视觉助手生成LabVIEW代码 293
3.5.3 生成LabVIEW代码的优化 296
3.5.4 通过图像处理平台加载图像处理-方向判断函数 313
3.5.5 数据判断 314
3.5.6 结果保存 314
3.5.7 初始化控件 315
3.5.8 参数设置 316
3.5.9 自动运行 327
3.5.10 执行效率研究 328
3.5.11 图像采集、图像处理串行处理 336
3.5.12 改善后自动运行 339
3.6 OCR字符识别 342
3.6.1 视觉助手生成脚本 343
3.6.2 视觉助手生成LabVIEW代码 346
3.6.3 生成LabVIEW代码的优化 348
3.6.4 通过图像处理平台加载字符识别函数 358
3.6.5 自定义字符识别ROI 360
3.6.6 学习字符集文件 360
3.6.7 初始化等修改 362
3.6.8 自动运行效果 365
3.7 单IO触发双相机(大恒图像MER-130-30UM+粒子分析、灰度测量、QR码识别) 366
3.7.1 项目基本需求介绍 366
3.7.2 项目使用硬件 369
3.7.3 软件基本界面 370
3.7.4 软件基本功能实现 376
3.7.5 运行效果 439
3.8 独立4相机硬件触发与4相机IO卡触发框架(Basler Aca2500-14GM+Adlink PCI-7230) 442
3.8.1 独立4相机硬件触发框架搭建 443
3.8.2 独立4相机IO卡触发框架搭建 463
第4章 常见硬件驱动与软件处理方法 478
4.1 串口IO卡驱动方法 478
4.2 ADLINK IO卡PCI-7230驱动方法 481
4.3 松下PLC串口通信 491
4.4 两条直线间的距离 496
4.5 测量螺丝牙距 502
4.6 提取所有轮廓曲线 504
4.7 图像处理中的定位方法 505
4.8 查找两点求坐标转换(ROI跟随目标移动) 507
4.9 接插件正位度与平整度 511
4.10自定义找圆算法 516
第5章 应用程序与安装程序的生成与授权 547
5.1 应用程序的生成 547
5.1.1 项目构成 547
5.1.2 新建应用程序 551
5.2 使用LabVIEW开发的机器视觉系统包含的组件 583
5.2.1 LabVIEW Run Time Engine运行引擎 583
5.2.2 NI Vision Common Resources 585
5.2.3 NI Vision Development Module Run Time 586
5.2.4 NI IMAQdx 587
5.2.5 NI VISA 588
5.3 安装程序的生成 589
5.3.1 生成安装程序 589
5.3.2 安装程序在无NI环境中的验证 611
5.4 NI视觉正版授权问题 633
5.4.1 哪些组件需要收费 633
5.4.2 不使用视觉许可证且能正版应用NI视觉的方法 633
版权声明尊敬的读者,当您看到本页时,表示您已经获得了《NI Vision图像处理宝典(第二版)》的相关版本(电子书等形式)。无论您从何渠道获得本书,您仅拥有阅读权,《NI Vision图像处理宝典(第二版)》著作权归石鑫华所有,未经石鑫华同意,您无权将《NI Vision图像处理宝典(第二版)》用于出版、印刷、转售、淘宝、复印、扫描、网络发布、网盘共享等。为了维护作者的权益,分发给您的复本可能是加密的PDF文档,也许无法用于打印、复制等,其中的图片也有可能包含与您相关的水印等情况,敬请谅解!请尊重作者的劳动成果,买这本书的钱,对于做视觉的您来说,真应该是小意思。当然,对于作者来说,全国需要这类书籍的人也屈指可数,多卖一本少卖一本也发不了财。因此,如果你对本书有兴趣,请不要再跟作者讨价还价。您不是在菜市场买菜,您买的是一份可以有更高回报的经验分享。
著作权证书
作品已经申请著作权
《NI Vision图像处理宝典(第二版)》已经申请著作权保护,盗版必究!
读者利益亲爱的读者同志,当您通过正规渠道获得《NI Vision图像处理宝典(第二版)》的复本时,表示您遵守了相关的法律法规。同时也表示了您对知识产权的承认以及对本书作者的尊重。
为了提升正版阅读体验,在您购买本书时,可在作者网站shixinhua.com论坛中注册相关ID,并通知作者,作者将为您提高相应的权限,以查看、下载论坛有限制的阅读内容。同时,您将可以获得优先的技术支持。您通过石鑫华视觉(http://shixinhua.com)可以了解到,作者在机器视觉行业还算有较丰富的应用经验,对于初学者或者是对机器视觉了解不深的工程师,或者可以提供一些必要的帮助,让您可以少走许多弯路,更快的掌握知识,更高效的完成您的机器视觉案例。
购买本书的用户,可以优选获得作者开发的一些基于通用图像处理平台的图像处理分析子函数。请您随时关注石鑫华视觉http://shixinhua.com。
感谢首先,感谢您支持作者。您是上帝,您的支持就是作者前进的动力。因此要特别感谢。
其次,感谢NI。因为NI为我们提供了这么好的视觉应用软件,可以非常快的设计验证视觉项目,了解机器视觉与图像处理。
第三,感谢MV。没有MV,我们大家也不会走进机器视觉这个圈子。因此我们大家都要感谢MV。
前言《NI Vision图像处理宝典(第二版)》是基于LabVIEW 2013与Vision Development Module 2013(VDM2013)、Vision Assistant2013以及LabVIEW2014SP1、NI VISION2014SP1、VAS2015.02等版创作的。因此如果有购买源代码套餐,请考虑使用LabVIEW 2013版、LabVIEW2014SP版的打开或更高版本的打开(如现在的LabVIEW2015、LabVIEW2016等版本)。部分实例,可以照猫画虎的用于旧的版本的,但是部分例子,如OCR等,因为有多行字符识别等,因此需要2013版以后的才可以识别。而对于模式匹配等,2013版与2012版的差别也比较大,因此建议还是以2013版为准。对于第二版中的第三章中的3.7、3.8及第四章、第五章均以LabVIEW2014SP1与NI VISION2014SP1为基础。
《NI Vision图像处理宝典(第二版)》以石鑫华视觉出品的通用图像处理平台为基础进行讲解。主要讲解了如何利用LabVIEW编写一套图像处理程序。《NI Vision图像处理宝典(第二版)》并没有详细介绍VDM中的每一个函数该如何使用,而是介绍如何使用LabVIEW与视觉助手、VDM进行混合编程,以使其能完成图像处理的任务。如何使用视觉助手生成脚本,以及更多的项目应用,请参考《基于Vision Assistant的图像处理实用教程》。《NI Vision图像处理宝典(第二版)》是对《基于Vision Assistant的图像处理实用教程》的延续,当您使用《基于Vision Assistant的图像处理实用教程》中的内容生成脚本后,下一步就是该生成VI代码,用于LabVIEW中了。如果在这里您被编程难住了,那么不用担心 ,使用《NI Vision图像处理宝典(第二版)》后,您将彻底明白,LabVIEW与VDM、视觉助手是如何工作的。
《NI Vision图像处理宝典(第二版)》中代码内容是以通用图像处理平台为基础的,其中涉及到的许多例子,也是在石鑫华视觉出售的。客户可以根据教程中的内容,自己编写相关的代码,以完成图像处理程序的编写。如果觉得这样比较浪费时间,又或者您希望赞助一下石鑫华视觉,可以试着购买软件代码,点此进入了解更多软件代码。
依据《NI Vision图像处理宝典(第二版)》,作者认为只要您不是太菜的鸟,编写一套完美的图像处理程序,基本不在话下。如果您觉得看书太痛苦,那么还是建议您购买一套软件,并且找石鑫华,上门培训几天,就更容易掌握NI图像处理的基本方法了!
在阅读《NI Vision图像处理宝典(第二版)》之前,请先学习使用NI Vision Assistant视觉助手。同时,您应该对LabVIEW这样的编程平台,有一定的了解,这样对于您了解图像处理的编程,将有非常大的帮助。因为《NI Vision图像处理宝典(第二版)》中的许多与LabVIEW相关的编程方法,并不会详细的解释,是在默认您已经了解LabVIEW的相关机制、原理的情况下进行讲解的。
NI Vision图像处理宝典(第二版)与第一版区别NI Vision图像处理宝典在作者创作的书籍中,销量是比较好的,因此也有一些盗版。为了打击盗版,对第一版进行了一些内容更新。同时,也是在第一版创作的基础上,认为有些内容没有介绍到,而有些内容比较多余或在其它作品中有介绍,也进行了一些修正。
第一版中的第一章概述,在第二版中删除掉,这个对于学习NI VISION实际作用不大,所以删除了。
第一版第二章变成了第二版的第一章,并且增加了1.5和1.6两节内容。
第一版第三章变成了第二版的第二章,并且其中的第一节功能函数与模块中的相机驱动程序,删掉了。因为相机驱动程序功能在作品《NI驱动相机采集图像指南中》有更为详细的介绍。如果需要相机驱动教程,可以购买《NI驱动相机采集图像指南中》。第一版中的第四章变成了第二版第三章,并且添加了3.7 单IO触发双相机(大恒图像 MER-130-30UM+粒子分析、灰度测量、QR码识别)、3.8 独立4相机硬件触发与4相机IO卡触发框架(Basler Aca2500-14GM+Adlink PCI-7230)两个多相机的实例。第一版中的实例,都是单相机的,且大部分都是以图片进行演示的,而第二版中3.7、3.8则为多相机的实例,且与硬件强相关的实例,更有实战意义。
第二版增加了第4章 常见硬件驱动与软件处理方法。如与硬件相关的串口IO卡驱动方法(3.7节中的实例使用到)、ADLINK IO卡 PCI-7230驱动方法(3.8节中实例使用),松下PLC串口通信方法;两条直线间的距离、测量螺丝牙距、提取所有轮廓曲线、查找两点求坐标转换(ROI跟随目标移动)、接插件正位度与平整度、自定义找圆算法等软件方法。
第二版增加了第5章 应用程序的生成与安装程序的生成及授权问题。这章内容,有很强的应用性。如果是已经学会了程序生成的,那么作用不大,但是对于不会生成程序的,帮助很大。而且授权问题,可以给用户提供软件正版化相关的若干问题的解决方法。
第一版全书440页,第二版全书则有近640页,比第一版多了200页。内容更丰富更实用,是学习NI视觉不可多得的理想教材!
第1章 结构框架1.1 编程风格