《LabVIEW HALCON图像处理入门教程 (24.09)》
《LabVIEW HALCON图像处理入门教程 (24.09)》LV HALCON教程又更新版本了,增加基于深度学习的模板匹配实例介绍,试读版本:《LabVIEW HALCON图像处理入门教程(24.09)》含深度学习,LabVIEW使用NI VISION+Halcon混合编程机器视觉与图像处理入门学习资料
http://visionbbs.com/thread-28124-1-1.html
《LabVIEW HALCON图像处理入门教程(24.09)》教程简介:
内容统计:1789页,字数30.8W+,配图3151张,word原始文档790MB。
定价策略:PDF1元/4页,共447元;视频10元/小时,只有简单介绍视频,无完整版视频教程,3小时多,合计30元;加密U盘成本:80元。共计557元,定价550元。源代码另行收费,教程中所有源代码含12个示例4000元。价格不包含税费和运费。加密U盘发货,顺丰速运,快递费用11元起(东莞发货),广东省内12~13元;其他省份20~25元不等。
开发环境:LabVIEW2020SP1 32位+Halcon19.11 32位(K教程第3章之前的内容),LabVIEW2020SP1 64位+Halcon23.05 64位(K教程第4章之后的内容)
教程适用对象:使用NI视觉无法满足项目要求,需要更高性能、更快速度的图像处理算法。属于LabVIEW Vision的进阶教材,不适合于使用LabVIEW搞机器视觉图像处理开发的小白。如果完全未入门的,请先学习LabVIEW+NI Vision相关的知识。
教程销售规格:
PDF教程:仅包含《LabVIEW HALCON图像处理入门教程(24.09)》的PDF电子版教程(加密U盘发货)。550元。
PDF教程+例子源代码:包含《LabVIEW HALCON图像处理入门教程(24.09)》的PDF电子版教程(教程加密U盘发货);以及教程中涉及到的所有例子源代码(源代码使用邮件发送,不加密,可复制编辑修改)。4500元。
PDF教程+相机镜头:包含《LabVIEW HALCON图像处理入门教程(24.09)》的PDF电子版教程(加密U盘发货);以及适用于本教程的相机(以大恒图像的130万像素网口黑白相机MER-133-54GM为准)和常规的国产FA工业镜头(SHI-CxxFFW为主,12-50mm焦距可选,500万像素级别兼容2/3寸相机)。2000元。
PDF教程+例子源代码+相机镜头:包含《LabVIEW HALCON图像处理入门教程(24.09)》的PDF电子版教程(加密U盘发货);以及教程中涉及到的所有例子源代码(源代码使用邮件发送,不加密,可复制编辑修改);以及适用于本教程的相机(以大恒图像的130万像素网口黑白相机MER-133-54GM为准)和常规的国产FA工业镜头(SHI-CxxFFW为主,8-50mm焦距可选,500万像素级别兼容2/3寸相机)。5500元。
目录
版权声明 6
读者利益 7
感谢 7
前言 8
版本迭代 9
前置条件 10
开发环境 10
第1章 Halcon中打开采集获取图像 12
1.1 打开图像和显示图像 12
1.1.1 HDevelop中打开图像 12
1.1.2 LabVIEW中使用Halcon打开图像&Halcon显示图像 18
1.1.2.1 HWindowControl/HSmartWindowControl显示图像窗口控件 19
1.1.2.1.1 .NET窗口插入Halcon图像显示窗口 19
1.1.2.1.2 HalconDotHet.HHandleBase的类型初始值设定项引发异常 23
1.1.2.1.3 HSmartWindowControl控件的属性 26
1.1.2.1.4 HSmartWindowControl控件的方法 37
1.1.2.2 ReadImage读取图像 40
1.1.2.3 错误:Halcon error #1305/未将对象引用设置到对象的实例 66
1.1.3 LabVIEW中使用NI Vision打开图像&Halcon显示图像 68
1.1.3.1 LabVIEW库Max函数 70
1.1.3.2 调用代码接口节点CIN 80
1.1.3.3 ArrayMemInfo数组内存信息 98
1.1.3.4 LabVIEW库DSNewPClr和MoveBlock函数 105
1.1.3.5 IMAQ GetImagePixelPtr+Move Block方法 115
1.1.4 LabVIEW中使用Halcon打开图像&LabVIEW显示图像 121
1.2 从相机采集图像 134
1.2.1 HDevelop中从相机采集图像 135
1.2.2 LabVIEW中使用Halcon采集图像和显示图像 155
1.2.2.1 打开OpenFramegrabber 156
1.2.2.2 抓取图像GrabImage(Dispose内存释放算子解决内存溢出) 162
1.2.2.3 关闭CloseFramegrabber/关闭所有CloseAllFramegrabber 175
1.2.2.4 LabVIEW类方式处理Halcon函数 177
1.2.2.5 Halcon算子的子VI处理方式 184
1.2.2.6 Halcon算子的状态机处理方式 191
1.2.2.7 获取相机参数GetFramegrabberParam 230
1.2.2.8 设置相机参数SetFramegrabberParam 243
1.2.2.9 彩色相机的白平衡 249
1.2.2.10 GrabImage同步与GrabImageAsync异步抓图速度比较 260
1.2.3 LabVIEW中使用NI-IMAQdx采集图像使用Halcon显示图像 265
1.2.4 VDM to Halcon Image.vi将VDM图像转为Halcon图像32&64位环境自适应 298
第2章 Halcon中关于图像的一些基本操作 312
2.1 获取图像信息 312
2.2 图像类型的转换 316
2.3 彩色图像转换为灰度图像 324
2.4 RGB彩色图像转HLS彩色图像 334
2.5 通过饱和度调整图像的鲜艳度 336
2.6 获取鼠标点击位置的坐标 339
2.7 实时获取鼠标移动位置的坐标 343
2.8 获取鼠标位置的像素值 366
2.9 图像缩放 384
2.9.1 1:1原始尺寸 387
2.9.2 平移图像 391
2.9.3 适合窗口 404
2.9.4 缩放图像 420
2.10 覆盖Overlay 433
2.11 ROI兴趣区域 438
第3章 LabVIEW Halcon图像处理实例 460
3.1 圆直径测量 461
3.1.1 NI Vision找圆与Halcon找圆比较 461
3.1.2 LabVIEW Image中设置ROI测量兴趣区域 471
3.1.3 Halcon HImage中设置ROI测量兴趣区域 500
3.2 Barcode一维条码读取 505
3.2.1 NI Vision与Halcon读取一维码效果对比 505
3.2.2 Halcon中读取一维码 507
3.2.3 LabVIEW实例集成 531
3.2.3.1 Barcode_OP.vi状态机开发 531
3.2.3.2 Barcode_OP.vi状态机集成到实例程序框架 537
3.2.3.3 微小内存增加溢出调试 549
3.3 二维码读取 583
3.3.1 二维码_OP.vi状态机开发 585
3.3.2 二维码_OP.vi状态机集成到实例程序框架 593
3.4 形状匹配 610
3.4.1 Halcon形状匹配介绍 610
3.4.2 HDevelop环境中形状匹配例子 611
3.4.3 形状匹配_OP.vi状态机开发 614
3.4.3.1 创建 615
3.4.3.2 参数 628
3.4.3.3 查找 629
3.4.3.4 读取 634
3.4.3.5 保存 635
3.4.3.6 关闭 636
3.4.4 形状匹配_OP.vi状态机集成到实例程序框架 636
3.4.5 Halcon匹配与NI视觉匹配性能比较 695
3.5 字符识别 700
3.5.1 HDevelop中的OCR 701
3.5.2 字符识别_OP.vi状态机开发 721
3.5.3 字符识别_OP.vi状态机集成到实例程序框架 746
3.6 提取线及线宽测量 771
3.6.1 NI Vision中的找线条、测线宽的求解思路 772
3.6.2 Halcon中的找线、求线宽方法示例 777
3.6.3 LabVIEW调用hdev程序来简单演示Halcon例子 779
3.6.4 lines_gauss.hdev程序解释 797
3.6.5 提取线_OP.vi状态机开发 802
3.6.6 提取线_OP.vi状态机集成到实例程序框架 813
3.6.7 LabVIEW调用hdvp外部函数 822
3.6.8 获取线宽角度等轮廓属性 850
3.6.9 查找线条的一些细节研究 864
3.6.10 规格判断 898
3.6.11 自动运行 905
3.6.12 内存溢出问题处理 926
3.6.13 X型、T型、L型、O形、S型线条的查找 952
3.7 基于线颜色的线序检测 965
3.7.1 NI Vision中线序检测思路 965
3.7.2 Halcon中的线颜色、求线宽示例 967
3.7.3 lines_color.hdev程序解释 968
3.7.4 线颜色OP.vi状态机开发 971
3.7.5 线颜色OP.vi状态机集成到实例程序框架 976
3.7.6 线序颜色检测效果验证 992
3.8 基于差异模型的缺陷检测(多图训练差异模型) 1013
3.8.1 NI Vision中的差异缺陷检测思路 1014
3.8.2 Halcon中差异缺陷检测思路 1030
3.8.3 print_check.hdev程序解释 1033
3.8.4 缺陷检测OP.vi状态机开发 1048
3.8.4.1 元组.llb 1048
3.8.4.2 Threshold阈值.vi 1064
3.8.4.3 FillUp填充.vi 1070
3.8.4.4 Difference差.vi 1073
3.8.4.5 ShapeTrans形状变换.vi 1075
3.8.4.6 DilationCircle圆膨胀.vi 1088
3.8.4.7 ReduceDomain缩小域.vi 1091
3.8.4.8 InspectShapeModel检查形状模型.vi 1093
3.8.4.9 GenContoursSkeletonXLD生成骨架XLD轮廓.vi 1096
3.8.4.10 AreaCenter面积中心.vi 1102
3.8.4.11 Connection连接.vi 1107
3.8.4.12 CreateShapeModel创建形状模型.vi 1109
3.8.4.13 CreateVariationModel创建差异模型.vi 1111
3.8.4.14 ReadImage读取图像.vi 1115
3.8.4.15 FindShapeModel查找形状模型 1115
3.8.4.16 VectorAngleToRigid向量角至刚性 1123
3.8.4.17 AffineTransImage仿射变换图像.vi 1126
3.8.4.18 TrainVariationModel训练差异模型 1134
3.8.4.19 GetVariationModel获取差异模型.vi 1137
3.8.4.20 PrepareVariationModel准备差异模型.vi 1141
3.8.4.21 GetThreshImagesVariationModel获取差异模型阈值图像.vi 1144
3.8.4.22 ErosionRectangle1矩形腐蚀.vi 1149
3.8.4.23 CompareVariationModel比较差异模型.vi 1153
3.8.4.24 SelectShape选择形状.vi 1159
3.8.4.25 CountObj统计目标.vi 1163
3.8.4.26 GenContourRegionXLD生成区域XLD轮廓.vi 1164
3.8.4.27 ConcatObj连接目标.vi 1166
3.8.4.28 WriteVariationModel保存差异模型.vi 1170
3.8.4.29 ReadVatiationModel读取差异模型.vi 1173
3.8.4.30 ClearShapleMode清除形状模型.vi 1178
3.8.4.31 ClearVariationModel清除差异模型.vi 1179
3.8.5 缺陷检测OP.vi集成到实例程序框架 1181
3.8.5.1 缺陷检测OP.vi-获取图像 1182
3.8.5.2 缺陷检测OP.vi-新建模型 1185
3.8.5.3 缺陷检测OP.vi-创建模板 1186
3.8.5.4 缺陷检测OP.vi-读取模型 1186
3.8.5.5 缺陷检测OP.vi-训练模型 1187
3.8.5.6 缺陷检测OP.vi-准备模型 1188
3.8.5.7 缺陷检测OP.vi-比较模型 1188
3.8.5.8 缺陷检测OP.vi-保存模型 1189
3.8.5.9 缺陷检测OP.vi-释放关闭 1189
3.8.5.10 缺陷检测OP.vi集成到实例程序框图 1190
3.8.5.11 缺陷检测OP.vi集成后官方图片运行效果 1201
3.8.6 内存溢出问题 1212
3.8.7 实际产品测试 1219
3.9 基于差异模型的缺陷检测(外部函数单图得到差异模型) 1232
3.9.1 variation_model_illumination.hdev程序解释 1233
3.9.2 get_model_region本地函数转GetModelRegion外部函数 1240
3.9.3 调用GetModelRegion外部函数示例 1258
3.9.4 CreateScaledShapeModel创建比例形状模型.vi 1261
3.9.5 GetShapeModelContours获取形状模型轮廓.vi 1264
3.9.6 HomMat2dIdentity相同二维齐次矩阵.vi 1264
3.9.7 HomMat2dTranslate平移二维齐次矩阵.vi 1266
3.9.8 AffineTransContourXld仿射变换XLD轮廓.vi 1267
3.9.9 SobelAmp索贝尔振幅.vi 1268
3.9.10 PrepareDirectVariationModel准备直接差异模型.vi 1270
3.9.11 get_grayval_range本地函数转GetGrayvalRange外部函数 1272
3.9.12 inspect_cap本地函数转InspectCap外部函数 1275
3.9.13 缺陷检测OP.vi状态机开发 1283
3.9.14 缺陷检测OP.vi集成到实例程序框架 1285
3.9.14 修正获取模型区域/获取灰度值范围/检查瓶盖_比较/检查瓶盖_缺陷等调用外部函数 1291
3.9.15 修正缺陷检测OP.vi 1299
3.9.16 修正HWindow_OP.vi 1301
3.9.17 图像处理.vi 1303
3.9.18 修正缺陷检测OP.vi集成到实例程序框图 1304
3.9.19 官方示例演示效果 1309
3.9.20 实际产品测试 1317
第4章 LabVIEW Halcon深度学习实例 1325
4.1 基于深度学习的字符识别Deep OCR(64位Halcon 23.05) 1326
4.1.1 Halcon深度学习简介 1326
4.1.2 Halcon官方Deep OCR实例介绍 1328
4.1.2.1 deep_ocr_workflow Part 1:图像中单词的检测和识别 1328
4.1.2.2 deep_ocr_workflow Part 2:仅识别单词 1335
4.1.2.3 deep_ocr_workflow Part 3:仅检测单词 1341
4.1.2.4 deep_ocr_workflow Part 4:使用自动切分对大图像进行检测和识别 1343
4.1.3 LabVIEW中Deep OCR的简单实现验证 1349
4.1.4 Deep OCR.vi状态机开发 1388
4.1.4.1 参数控件 1389
4.1.4.2 前面板和接线端 1395
4.1.4.3 创建模型 1395
4.1.4.4 获取参数 1396
4.1.4.5 设置参数 1404
4.1.4.6 应用模型 1405
4.1.4.7 关闭模型 1412
4.1.5 DeepOCR.vi状态机集成到实例程序框架 1414
4.1.5.1 状态机集成到实例程序 1414
4.1.5.2 实例程序运行效果 1433
4.1.5.3 一些参数的测试验证 1445
4.1.5.4 CPU和内存资源占用 1479
4.1.6 hdl预训练模型和hdo专用模型 1483
4.1.6.1 .hdl预训练模型 1483
4.1.6.2 Deep OCR.vi状态机中增加读取模型 1486
4.1.6.3 Deep OCR.vi状态机中增加保存模型 1489
4.1.6.4 读取.hdo深度OCR专用模型 1496
4.1.6.5 使用.hdo模型对官方图像测试验证 1510
4.1.7 CUDA和cuDNN环境安装配置 1522
4.1.8 安装CUDA后使用GPU验证深度OCR 1544
4.1.9 DLT深度学习工具安装 1550
4.1.10 DLT标注数据集 1558
4.1.11 使用官方示例训练模型 1578
4.2 基于深度学习的(多个)模板匹配Deep Counting 1642
4.2.1 深度计数环境介绍 1642
4.2.2 deep_counting_workflow.hdev代码解释 1648
4.2.3 Deep Counting.vi状态机开发 1653
4.2.3.1 参数控件 1654
4.2.3.2 前面板和接线端 1655
4.2.3.3 创建模型 1656
4.2.3.4 读取模型 1658
4.2.3.5 获取参数 1659
4.2.3.6 设置参数 1663
4.2.3.7 准备模型 1663
4.2.3.8 应用模型 1667
4.2.3.9 保存模型 1671
4.2.3.10 关闭模型 1672
4.2.3.11 简易实例状态机功能验证 1673
4.2.3.12 最小分数、最大重叠无需准备的参数验证 1691
4.2.3.13 其他需要准备的参数验证 1692
4.2.3.14 状态机优化 1693
4.2.4 DeepCounting.vi状态机集成到实例程序框架 1698
4.2.5 深度计数模板匹配效果验证 1723
4.2.5.1 最小分数测试 1725
4.2.5.2 比例参数测试 1728
4.2.5.3 角度参数测试 1737
4.2.5.4 角度参数、比例参数同时作用 1750
4.2.6 多个模板匹配效果验证 1752
4.2.7 自动运行效果 1756
4.2.8 自动运行时内存溢出测试 1759
4.2.9 官方实例图像测试 1764
4.2.10 深度计数的实际应用 1779
结束语 1787
机器视觉论坛http://visionbbs.com,专业的LabVIEW机器视觉与图像处理论坛 大佬
页:
[1]