猜你喜欢
Halcon机器视觉算法原理与编程实战

Halcon机器视觉算法原理与编程实战

书籍作者:杨青 ISBN:9787301309049
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3560
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
随着机器视觉技术的飞速发展,大量需要使用机器视觉代替人工检测的需求应运而生。Halcon在开发机器视觉项目中表现出的高效性和稳定性,使其应用范围非常广泛。本书将针对机器视觉的原理和算法,以及如何应用算法解决问题进行探讨和说明,并利用Halcon对各种机器视觉算法进行举例,让读者全面、深入、透彻地理解Halcon机器视觉开发过程中的各种常用算法的原理及其应用方法,提高实际开发水平和项目实战能力。同时,也为机器视觉项目的管理者提供项目管理和技术参考。
  《Halcon机器视觉算法原理与编程实战》适合需要全面学习机器视觉算法的初学者,希望掌握Halcon进行机器视觉项目开发的程序员,需要了解机器视觉项目开发方法的工业客户、机器视觉软件开发项目经理、专业培训机构的学员,以及对机器视觉算法兴趣浓厚的人员阅读。
作者简介
杨青,北京大学软件工程硕士,现任某科研单位图像算法主管。2010年以来一直从事图像视觉算法与软件研发工作,2015年起开始主导机器视觉项目,曾负责双目立体视觉探测、基于机器视觉的自动化产品检测、显示器缺陷检测、智能识别等多个视觉项目。为医疗、航天、工业、科研等多个领域的客户提供了智能场景的机器视觉系统的软硬件方案。
编辑推荐
1.涵盖图像预处理、图像的形态学处理、颜色与纹理、图像分割与分类、立体视觉、深度学习、表面检测、完整性检测、模板匹配、三维定位等各种机器视觉图像处理技术和检测技术。
2.对机器视觉图像处理的各种技术做了原理上的分析和代码实现。
3.案例典型,实战性强,大量可重用代码,可应用于真实场景。
前言
为什么要写这本书?
随着机器视觉技术的飞速发展,大量需要使用机器视觉代替人工检测的需求应运而生。Halcon在开发机器视觉项目中表现出的高效性和稳定性,使其应用范围非常广泛。程序员要想进入机器视觉开发行业,除了需要有基础的图像处理知识、理论知识,融会贯通各种图像处理算法外,最好还要熟悉有典型意义和实际价值的各类开发实例。这样才能在开发机器视觉项目的过程中游刃有余地解决各种图像处理问题,使开发结果达到理想的效果。
目前图书市场上关于图像处理的图书不少,但是结合 Halcon进行算法分析和实际项目应用的图书却非常少。本书便是以实战为主旨,通过 Halcon开发机器视觉项目中常见的 10种典型算法模块,并列举了应用实例,让读者全面、深入、透彻地理解 Halcon机器视觉开发过程中的各种常用算法的原理及其应用方法,提高读者的实际开发水平和项目实战能力。
本书有何特色?
1. 涵盖各种机器视觉图像处理技术及常用检测技术
本书涵盖图像预处理、图像的形态学处理、颜色与纹理、图像分割与分类、立体视觉、
深度学习、表面检测、完整性检测、模板匹配、三维定位等常用机器视觉图像处理技术和检测技术。
2. 对机器视觉图像处理的各种技术做了原理上的介绍和编程代码举例
本书从一开始便对机器视觉项目开发和软硬件环境配置做了基本介绍,并对各种机器视觉图像处理技术和常用检测技术进行了原理分析和代码举例,便于读者理解书中的项目开发实例。
3. 模块驱动,应用性强
本书提供了 10个机器视觉项目中的算法模块,这些算法模块都是机器视觉图像处理中经常用到的,具有超强的实用性,开发人员可以随时查阅和参考。
4. 项目案例典型,实战性强,有很高的应用价值
本书在第 2篇介绍了多个案例,并对各种算法进行了代码举例。第 3篇提供了 4个项目实战案例。这些案例来源于作者所开发的实际项目,具有很高的应用价值和参考性。而且这些案例将不同的图像处理算法组合使用,便于读者理解本书中所介绍的技术。将这些案例稍加修改,便可用于实际项目开发。
5. 提供完善的技术支持和售后服务

本书提供了专门的技术支持邮箱: [email protected]。读者在阅读本书的过程中有任何疑问都可以通过该邮箱获得帮助。
本书内容及知识体系
第 1篇 基础篇(第 1~ 4章)
本篇介绍了机器视觉概述、如何做机器视觉项目、硬件环境搭建和软件图像采集等基础知识,主要包括机器视觉项目开发流程、机器视觉项目的硬件环境搭建方法、软件图像采集方法等。
第 2篇 算法篇(第 5~ 14章)
本篇介绍了机器视觉图像处理中常用的 10个典型算法模块及其代码实现,主要包括图像预处理、图像分割、颜色与纹理、图像的形态学处理、特征提取、边缘检测、模板匹配、图像分类、相机标定与三维重建、机器视觉中的深度学习等。
第 3篇 应用案例篇(第 15~ 18章)
本篇主要介绍了 4个项目案例的开发过程,主要包括印刷完整性检测、布料表面缺陷检测、仪表数值智能识别、双目立体视觉与定位。在具体剖析这 4个案例时,涉及系统功能、检测算法、具体实现的详细过程。
适合阅读本书的读者
想要全面学习机器视觉算法的初学者。
希望使用 Halcon进行机器视觉项目开发的程序员。
想要了解机器视觉项目开发方法的工业客户。
机器视觉软件开发项目经理。
希望提高图像处理水平的人员。
对机器视觉算法兴趣浓厚的人员。
需要一本关于机器视觉算法的案头必备查询手册的人员。
阅读本书的建议
没有机器视觉算法基础的读者,建议从第 1章顺次阅读,并演练每一个实例。
有一定机器视觉算法基础的读者,可以根据实际情况,有重点地选择阅读各个章节和编程实例。
对于每一个章节和编程实例,先自己思考一下实现的思路,然后再阅读,学习效果会更好。
阅读完书中的章节和编程实例后,可以结合学习资源中提供的代码实际演练一遍,这样理解起来会更加容易,印象也会更加深刻。可扫描以下二维码关注“博雅读书社”微信公众号,找到“资源下载”栏目,根据提示获取本书资源。
目录
第 1章 机器视觉概述 002
1.1什么是机器视觉 003
1.2机器视觉与计算机视觉的区别 003
1.3机器视觉的工作原理 005
1.4机器视觉的应用领域 006
第 2章 如何做机器视觉项目 008
2.1项目的前期准备 009
2.1.1从 5个方面初步分析客户需求 009
2.1.2方案评估与验证 009
2.1.3签订合同 010
2.2项目规划 011
2.2.1定义客户的详细需求 011
2.2.2制订项目管理计划 011
2.2.3方案评审 012
2.3详细设计 012
2.3.1硬件设备的选择与环境搭建 012
2.3.2软件开发平台与开发工具的选择 013
2.3.3机器视觉系统的整体框架与开发流程 013
2.3.4交互界面设计 014
2.3.5 Halcon与开发工具 014
2.4项目交付 015
2.4.1软件功能测试 015
2.4.2现场调试 015
2.4.3系统维护 016
第 3章 硬件环境搭建 017
3.1相机 018
3.1.1相机的主要参数 018
3.1.2相机的种类 019
3.1.3相机的接口 020
3.1.4相机的选型 020
3.2图像采集卡 022
3.2.1图像采集卡的种类 022
3.2.2图像采集卡的选型 023
3.3镜头 023
3.4光源 024
3.5实例:硬件选型 025
第 4章 软件图像采集 026
4.1获取非实时图像 027
4.1.1读取图像文件 027
4.1.2读取视频文件 028
4.2获取实时图像 030
4.2.1 Halcon的图像采集步骤 030
4.2.2 使用 Halcon接口连接相机 030
4.2.3 使用相机的 SDK采集图像 033
4.2.4外部触发采集图像 033
4.3 多相机采集图像 034
4.4 Halcon图像的基本结构 035
4.5 实例:采集 Halcon图像并进行简单处理036
第 5章 图像预处理 040
5.1图像的变换与校正 041
5.1.1二维图像的平移、旋转和缩放 041
5.1.2图像的仿射变换 042
5.1.3投影变换 042
5.1.4实例:透视形变图像校正 043
5.2 感兴趣区域(ROI)045
5.2.1 ROI的意义 045
5.2.2创建 ROI045
5.3 图像增强046
5.3.1直方图均衡 046
5.3.2增强对比度 ·048
5.3.3处理失焦图像 049
5.4 图像平滑与去噪 049
5.4.1均值滤波 049
5.4.2中值滤波 050
5.4.3高斯滤波 051
5.5 光照不均匀 052
第 6章 图像分割 054
6.1阈值处理 055
6.1.1全局阈值 055
6.1.2基于直方图的自动阈值分割方法 056
6.1.3自动全局阈值分割方法 057
6.1.4局部阈值分割方法 058
6.1.5其他阈值分割方法 060
6.2 区域生长法062
6.2.1 regiongrowing算子062
6.2.2 regiongrowing_mean算子064
6.3 分水岭算法065
第 7章 颜色与纹理067
7.1图像的颜色068
7.1.1图像的色彩空间068
7.1.2 Bayer图像069
7.1.3颜色空间的转换070
7.2 颜色通道的处理 070
7.2.1图像的通道 071
7.2.2访问通道 071
7.2.3通道分离与合并 071
7.2.4处理 RGB信息 073
7.3实例:利用颜色信息提取背景相似的字符区域 074
7.4 纹理分析 075
7.4.1纹理滤波器 075
7.4.2实例:织物折痕检测 076
第 8章 图像的形态学处理 077
8.1腐蚀与膨胀 078
8.1.1结构元素 078
8.1.2腐蚀 078
8.1.3膨胀 080
8.2开运算与闭运算 082
8.2.1开运算 082
8.2.2闭运算 084
8.3顶帽运算与底帽运算 085
8.3.1顶帽运算 086
8.3.2底帽运算 086
8.3.3顶帽运算与底帽运算的应用 087
8.4灰度图像的形态学运算 089
8.4.1灰度图像与区域的区别 089
8.4.2灰度图像的形态学运算效果及常用算子 089
8.5实例:粘连木材图像的目标分割与计数 091
第 9章 特征提取 095
9.1区域形状特征 096
9.1.1区域的面积和中心点 096
9.1.2封闭区域(孔洞)的面积 097
9.1.3根据特征值选择区域 098
9.1.4根据特征值创建区域 100
9.2基于灰度值的特征 103
9.2.1区域的灰度特征值 103
9.2.2区域的最大、最小灰度值 105
9.2.3灰度的平均值和偏差 106
9.2.4灰度区域的面积和中心 107
9.2.5根据灰度特征值选择区域 107
9.3基于图像纹理的特征 109
9.3.1灰度共生矩阵 109
9.3.2创建灰度共生矩阵 110
9.3.3用共生矩阵计算灰度值特征 111
9.3.4计算共生矩阵并导出其灰度值特征 111
9.3.5实例:提取图像的纹理特征 112
第10 章 边缘检测 115
10.1像素级边缘提取 116
10.1.1经典的边缘检测算子 116
10.1.2边缘检测的一般流程 117
10.1.3 sobel_amp算子 117
10.1.4 edges_image算子 120
10.1.5其他滤波器 122
10.2亚像素级边缘提取 124
10.2.1 edges_sub_pix算子 125
10.2.2 edges_color_sub_pix算子 126
10.2.3 lines_gauss算子 127
10.3轮廓处理 129
10.3.1轮廓的生成 130
10.3.2轮廓的处理 130
第11 章 模板匹配134
11.1模板匹配的种类 135
11.1.1基于灰度值的模板匹配 135
11.1.2基于相关性的模板匹配 136
11.1.3基于形状的模板匹配 136
11.1.4基于组件的模板匹配 137
11.1.5基于形变的模板匹配 138
11.1.6基于描述符的模板匹配 138
11.1.7基于点的模板匹配 139
11.1.8模板匹配方法总结 139
11.2图像金字塔 140
11.3模板图像 142
11.3.1从参考图像的特定区域中创建模板 ·142
11.3.2使用 XLD轮廓创建模板 143
11.4模板匹配的步骤 143
11.4.1基于灰度值的模板匹配 143
11.4.2基于相关性的模板匹配 145
11.4.3基于形状的模板匹配 147
11.4.4基于组件的模板匹配 149
11.4.5基于局部形变的模板匹配 150
11.4.6基于透视形变的模板匹配 152
11.4.7基于描述符的模板匹配 153
11.4.8优化匹配速度 155
11.4.9使用 Halcon匹配助手进行匹配 156
11.5实例:指定区域的形状匹配 159
第12 章 图像分类 163
12.1分类器 164
12.1.1分类的基础知识 164
12.1.2 MLP分类器 166
12.1.3 SVM分类器 166
12.1.4 GMM分类器 166
12.1.5 k-NN分类器 167
12.1.6选择合适的分类器 167
12.1.7选择合适的特征 168
12.1.8选择合适的训练样本 168
12.2特征的分类 169
12.2.1一般步骤 169
12.2.2 MLP分类器 170
12.2.3 SVM分类器 176
12.2.4 GMM分类器 176
12.2.5 k-NN分类器 177
12.3光学字符识别 178
12.3.1一般步骤 179
12.3.2 OCR实例 179
产品特色