石鑫华视觉 发表于 2013-12-24 11:07:59

LabVIEW Vision图像处理开发宝典



LabVIEW Vision图像处理开发宝典
目录
LabVIEW Vision图像处理开发宝典... 1
版权声明... 7
读者利益... 7
感谢... 7
前言... 8
第一章 概述... 9
第一节 NI LabVIEW & NI Vision简介... 9
第二节 NI各款视觉软件的应用范围... 14
2.1 LabVIEW的应用... 14
2.2 VDM视觉开发模块的应用... 15
2.3 VA视觉助手的应用... 16
2.4 VBAI视觉生成器的应用... 17
2.5 VAS视觉采集软件的应用... 18
第三节 NI软件的兼容性... 19
3.1 LabVIEW与操作系统兼容性... 19
3.2 LabVIEW的生命周期策略... 20
3.2.1 NI LabVIEW年度发行... 20
3.2.2 NI LabVIEW生命周期策略的各个阶段... 21
3.2.3 NI LabVIEW生命周期策略... 21
3.3 视觉软件的兼容性... 23
第二章 结构框架... 27
第一节 编程风格... 27
第二节 编程框架... 30
第三节 通用图像处理平台项目结构... 39
第四节 通用图像处理平台流程图... 44
第三章 功能函数与主程序... 47
第一节 功能函数与模块... 47
1.1 Camera相机模块... 49
1.1.1 打开相机... 51
1.1.2 设置属性... 53
对照MAX中的属性设置属性... 56
使用.icd文件查看属性... 58
使用枚举属性函数查看属性... 60
读写相机属性文件... 60
1.1.3 读视频模式... 61
1.1.4 写视频模式... 62
1.1.5 配置相机... 63
1.1.6 采集图像... 64
1.1.7 停止相机... 65
1.1.8 关闭相机... 66
1.1.9 大恒相机DLL调用... 67
函数LvGetDeviceTotal 68
函数LvOpenDevice. 69
函数LvAllocateResources. 71
函数LvSetResolution. 73
函数LvSetSnapMode. 75
函数LvSetGain. 78
函数LvGetImageWidth. 81
函数LvGetImageHeight. 83
函数LvSetAOI 83
函数LvSetShutter. 88
函数LvSetADCLevel 91
函数LvSetTimeout. 94
函数LvGrabSingle. 96
函数LvExportImageData. 101
函数LvStartGrab. 102
函数LvStopGrab. 104
函数LvCloseDevice. 106
函数使用简要说明... 108
1.2 Datalog数据记录... 109
1.2.1 Open打开数据库... 110
1.2.2 Write写数据... 111
1.2.3 Search查询数据... 113
1.2.4 Update更新数据... 114
1.2.5 Delete删除数据... 115
1.2.6 Close关闭数据库... 115
1.3 Sub VI子函数... 116
1.3.1 ImageforUse. 117
Create创建图像缓存... 117
Use使用图像... 118
Copy复制图像... 119
Dispose释放图像缓存... 120
1.3.2 帮助... 120
1.3.3 等待(有错误)... 121
1.3.4 读写参数... 122
1.3.5 读写最后机种... 126
1.3.6 仿真采集图像... 129
1.3.7 放大图像算子... 131
1.3.8 缩小图像算子... 132
1.3.9 检查文件夹存在及新建... 133
1.3.10 良率计算... 134
1.3.11 路径(开发与应用环境)... 135
1.3.12 罗列文件-多文件类型... 137
1.3.13 判断数组大小并截取子集... 138
1.3.14 任一范围随机数... 139
1.3.15 首行行号... 140
1.3.16 提示信息... 143
1.3.17 新建文件... 145
第二节 主程序与功能实现... 149
2.1 主程序前面板说明... 151
2.2 主程序初始化... 153
2.2.1 程序执行时的原始初始化... 154
初始化状态提示... 155
初始化主队列... 156
初始化从队列... 156
建立相对路径... 157
前面板全屏运行... 157
访问网页... 159
2.2.2 队列初始化... 160
元素出队列... 161
状态机-初始化... 162
循环控制及状态机控制... 163
状态机-初始化控件... 165
状态机-加载机种参数... 169
状态机-初始化参数... 171
2.3 前面板事件响应... 176
2.3.1 用户登录/退出事件... 176
2.3.2 设置参数... 185
2.3.3 保存参数... 189
2.3.4 参数另存为... 192
2.3.5 打开参数... 195
2.3.6 运动... 197
2.3.7 连续采集... 198
2.3.8 单帧采集... 201
2.3.9 图像处理... 203
2.3.10 自动运行... 205
2.3.11 缩小图像... 215
2.3.12 放大图像... 215
2.3.13 原始尺寸... 216
2.3.14 适合窗口... 217
2.3.15 保存图像... 218
2.3.16 帮助... 221
2.3.17 最小化... 221
2.3.18 退出程序... 223
2.3.19 访问主页... 225
2.3.20 机种... 226
2.3.21 规格参数... 228
2.3.22 相机参数... 230
2.3.23 运动参数... 232
2.3.24 图像参数... 233
2.3.25 其它参数... 240
2.4 程序退出... 243
2.5 单相机程序框图与双相机程序框图... 246
第四章 图像处理实例... 248
第一节 尺寸测量... 248
1.1 视觉助手生成脚本... 248
1.2 视觉助手生成LabVIEW代码... 250
1.3 生成LabVIEW代码的优化... 251
1.3.1 删除打开图像文件代码... 251
1.3.2 删除Image显示控件调色板类型... 252
1.3.3 删除错误代码判断... 254
1.3.4 删除IVA代码... 255
1.3.5 合并部分函数输入控件... 259
1.3.6 优化输入输出控件... 261
1.4 通用图像处理平台中加载图像处理-clamp函数... 264
1.5 自动运行... 264
第二节 二维码识别... 266
2.1 视觉助手生成脚本... 266
2.2 视觉助手生成LabVIEW代码... 269
2.3 生成LabVIEW代码的优化... 271
2.3.1 删除冗余代码... 271
2.3.2 使用覆盖多段线函数覆盖条码边框... 271
2.3.3 优化输入输出控件... 278
2.4 通用图像处理平台中加载图像处理-QR识别函数... 280
2.5 数据判断... 281
2.5 图像参数... 281
2.6 初始化... 284
2.7 结果保存... 285
2.8 自动运行... 285
第三节 模式匹配... 286
3.1 视觉助手生成脚本... 287
3.2 视觉助手生成LabVIEW代码... 289
3.3 生成LabVIEW代码的优化... 293
3.3.1 删除错误判断代码和IVA存储结果代码... 293
3.3.2 改善模板图像的调用... 294
3.3.3 修改匹配数量... 294
3.3.4 优化输入输出控件... 295
3.4 通用图像处理平台中加载图像处理-模式匹配函数... 298
3.5 添加匹配边框... 303
3.6 ROI赋值... 307
3.7 模板文件的制作... 311
3.7.1 使用NI的Teplate Editor. 311
3.7.2 使用命令提示符调用Template Editor. 312
3.7.3 使用模式匹配库函数学习模板... 323
3.8 自动运行效果... 330
第四节 形状检测-圆... 332
4.1 视觉助手生成脚本... 332
4.2 视觉助手生成LabVIEW代码... 334
4.3 生成LabVIEW代码的优化... 335
4.3.1 删除错误判断代码和IVA存储结果代码... 335
4.3.2 删除打开图片代码... 337
4.3.3 设置图像参数自定义控件... 337
4.3.4 添加圆覆盖... 339
4.4 通过图像处理平台加载图像处理-形状检测查找圆函数... 342
4.5 初始化控件... 343
4.6 图像参数值改变... 343
4.7 ROI赋值... 344
4.8 数据判断... 348
4.9 结果保存... 349
4.10 简单标定... 349
4.11 标定数据标定... 349
4.12 运行效果... 361
第五节 LED编带机方向判断... 362
5.1 视觉助手生成脚本... 363
5.2 视觉助手生成LabVIEW代码... 367
5.3 生成LabVIEW代码的优化... 370
5.3.1 删除错误判断代码... 370
5.3.2 修改ROI 371
5.3.3 改善IVA Measure2函数... 373
5.3.4 坐标系优化与求交点优化... 376
5.3.5 设置图像参数自定义控件... 382
5.3.6 生成最终图像处理子函数... 386
5.4 通过图像处理平台加载图像处理-方向判断函数... 387
5.5 数据判断... 388
5.6 结果保存... 388
5.7 初始化控件... 389
5.8 参数设置... 390
5.8.1 定义左边ROI 391
5.8.2 查找左边... 392
5.8.3 定义顶边ROI 393
5.8.4 查找顶边... 394
5.8.5 定义参考坐标系... 395
5.8.6 定义检测区域... 396
5.8.7 参数设置流程... 396
5.9 自动运行... 401
5.10 执行效率研究... 402
5.11 图像采集、图像处理串行处理... 410
5.11.1 自动运行图像处理... 410
5.11.2 保存数据... 412
5.11.3 存储图像... 413
5.12 改善后自动运行... 413
第六节 OCR字符识别... 416
6.1 视觉助手生成脚本... 417
6.2 视觉助手生成LabVIEW代码... 420
6.3 生成LabVIEW代码的优化... 422
6.3.1 删除错误判断等冗余代码... 422
6.3.2 删除字符集参数设置... 423
6.3.3 覆盖兴趣区域和字符边框区域... 425
6.3.4 改善字符集文件操作... 427
6.4 通过图像处理平台加载字符识别函数... 432
6.5 自定义字符识别ROI 434
6.6 学习字符集文件... 434
6.7 初始化等修改... 436
6.8 自动运行效果... 439

版权声明尊敬的读者,当您看到本页时,表示您已经获得了《LabVIEW Vision图像处理开发宝典》的相关版本(电子书等形式)。无论您从何渠道获得本书,您仅拥有阅读权,《LabVIEW Vision图像处理开发宝典》著作权归石鑫华所有,未经石鑫华同意,您无权将《LabVIEW Vision图像处理开发宝典》用于出版、印刷、转售、淘宝、复印、扫描、网络发布、网盘共享等。为了维护作者的权益,分发给您的复本可能是加密的PDF文档,也许无法用于打印、复制等,其中的图片也有可能包含与您相关的水印等情况,敬请谅解!请尊重作者的劳动成果,买这本书的钱,对于做视觉的您来说,真应该是小意思。当然,对于作者来说,全国需要这类书籍的人也屈指可数,多卖一本少卖一本也发不了财。因此,如果你对本书有兴趣,请不要再跟作者讨价还价。您不是在菜市场买菜,您买的是一份可以有更高回报的经验分享。
读者利益
亲爱的读者同志,当您通过正规渠道获得《LabVIEW Vision图像处理开发宝典》的复本时,表示您遵守了相关的法律法规。同时也表示了您对知识产权的承认以及对本书作者的尊重。
为了提升正版阅读体验,在您购买本书时,可在作者网站shixinhua.com论坛中注册相关ID,并通知作者,作者将为您提高相应的权限,以查看、下载论坛有限制的阅读内容。同时,您将可以获得优先的技术支持。您通过石鑫华视觉(http://shixinhua.com)可以了解到,作者在机器视觉行业还算有较丰富的应用经验,对于初学者或者是对机器视觉了解不深的工程师,或者可以提供一些必要的帮助,让您可以少走许多弯路,更快的掌握知识,更高效的完成您的机器视觉案例。
购买本书的用户,可以优选获得作者开发的一些基于通用图像处理平台的图像处理分析子函数。请您随时关注石鑫华视觉http://shixinhua.com。
感谢
首先,感谢您支持作者。您是上帝,您的支持就是作者前进的动力。因此要特别感谢。
其次,感谢NI。因为NI为我们提供了这么好的视觉应用软件,可以非常快的设计验证视觉项目,了解机器视觉与图像处理。
第三,感谢MV。没有MV,我们大家也不会走进机器视觉这个圈子。因此我们大家都要感谢MV。

前言
《LabVIEW Vision图像处理开发宝典》是基于LabVIEW 2013与Vision Development Module 2013(VDM2013)、Vision Assistant2013版创作的。因此附件中的脚本请考虑使用视觉助手2013版、LabVIEW2013版的打开或更高版本的打开。部分实例,可以照猫画虎的用于旧的版本的,但是部分例子,如OCR等,因为有多行字符识别等,因此需要2013版以后的才可以识别。而对于模式匹配等,2013版与2012版的差别也比较大,因此建议还是以2013版为准。。
《LabVIEW Vision图像处理开发宝典》以石鑫华视觉出品的通用图像处理平台为基础进行讲解。主要讲解了如何利用LabVIEW编写一套图像处理程序。《LabVIEW Vision图像处理开发宝典》并没有详细介绍VDM中的每一个函数该如何使用,而是介绍如何使用LabVIEW与视觉助手、VDM进行混合编程,以使其能完成图像处理的任务。如何使用视觉助手生成脚本,以及更多的项目应用,请参考《基于Vision Assistant的图像处理实用教程》。《LabVIEW Vision图像处理开发宝典》是对《基于Vision Assistant的图像处理实用教程》的延续,当您使用《基于Vision Assistant的图像处理实用教程》中的内容生成脚本后,下一步就是该生成VI代码,用于LabVIEW中了。如果在这里您被编程难住了,那么不用担心 ,使用《LabVIEW Vision图像处理开发宝典》后,您将彻底明白,LabVIEW与VDM、视觉助手是如何工作的。
《LabVIEW Vision图像处理开发宝典》中代码内容是以通用图像处理平台为基础的,其中涉及到的许多例子,也是在石鑫华视觉出售的。因此涉及到的所有源代码均不提供给购买用户。客户可以根据教程中的内容,自己编写相关的代码,以完成图像处理程序的编写。如果觉得这样比较浪费时间,又或者您希望赞助一下石鑫华视觉,可以试着购买软件代码,点此进入了解更多软件代码。
依据《LabVIEW Vision图像处理开发宝典》,作者认为只要您不是太菜的鸟,编写一套完美的图像处理程序,基本不在话下。如果您觉得看书太痛苦,那么还是建议您购买一套软件,并且找石鑫华,上门培训几天,包会!
在阅读《LabVIEW Vision图像处理开发宝典》之前,请先学习使用NI Vision Assistant视觉助手。同时,您应该对LabVIEW这样的编程平台,有一定的了解,这样对于您了解图像处理的编程,将有非常大的帮助。因为《LabVIEW Vision图像处理开发宝典》中的许多与LabVIEW相关的编程方法,并不会详细的解释,是在默认您已经了解LabVIEW的相关机制、原理的情况下进行讲解的。

《LabVIEW Vision图像处理开发宝典》购买链接:
https://item.taobao.com/item.htm?id=534580997716



林羽龙 发表于 2013-12-25 15:50:49

不错哦!学习中!

aiamia 发表于 2013-12-27 10:48:47

哥顶的不是帖子,也不是寂寞,是楼主,是图像处理http://shixinhua.com/imganalyse!

汇聚大海 发表于 2014-1-8 15:20:11

看帖看完了至少要顶一下,向楼主无私奉献致敬!感谢石鑫华视觉http://visionbbs.com的培训资料!

听_下雪了 发表于 2014-1-15 21:31:09

说实话定价略高了点,虽然注重知识产权是好事,但是知识共享也是一种美德,让更多需要的人学习到这门知识不是更好么

aiamia 发表于 2014-2-12 08:55:06

楼上同意

¥沧海笑¥ 发表于 2014-2-24 15:21:27

知识是无价的,楼上的人不懂得付出只想要回报,难道让你天天当雷锋,义务去为社会做贡献,没有回报你愿意吗?

侯超文 发表于 2014-5-14 10:37:47

可以讲价吗?

xkfy 发表于 2014-6-17 16:51:41

好不好,谁看谁知道

langui 发表于 2015-5-30 03:56:54


新手,学习下!..............
页: [1] 2
查看完整版本: LabVIEW Vision图像处理开发宝典

LabVIEW HALCON图像处理入门教程(24.09)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24