当前位置:主页 > 书籍配套资源 > OpenCV配套资源
《深入理解OpenCV:实用计算机视觉项目解析》源码素材

《深入理解OpenCV:实用计算机视觉项目解析》源码素材

  • 更新:2022-04-07
  • 大小:71.9 MB
  • 类别:OpenCV
  • 作者:Daniel、Lélis、Baggio,
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

视觉是人类获取信息的主要来源。图像、视频等视觉信息载体也是当今大数据时代最大的数据源之一,在计算机工程、通信、生物学、医学、军事等领域有着广泛应用。由于计算机视觉涉及多个领域的专业知识,以及视觉对象的复杂性和视觉任务的多样,这使计算机视觉研究很困难。

OpenCV是开源、跨平台的计算机视觉库,其全称是Open Source Computer Vision Library。它是由英特尔公司发起并参与开发的,可在商业和研究领域中免费使用。OpenCV能开发实时的图像处理、运动跟踪、目标检测等程序。

但目前通过实际应用项目来介绍OpenCV的书很少。本书通过8个典型的计算机视觉项目来介绍OpenCV强大、高效的功能。这8个项目涵盖了计算视觉的如下领域:基于iPhone或iPad的增强现实;从运动中得到3D结构;车牌识别;人脸识别与跟踪;三维头部姿态估计等。这些项目均用C/C++实现,对于关键代码,作者给出非常详细的介绍。在每章中,作者不但介绍项目的应用背景、整体框架、软件设计方法,同时也深入浅出地介绍了与项目相关的机器学习理论。毫不夸张地讲,这是一本用OpenCV来实践计算机视觉应用难得的好书。

翻译本书的过程也是我学习的过程,虽然辛苦但也不觉得累。为了做到专业词汇准确权威,书本内容正确,意译部分既不失原著意境又无偏差, 在翻译过程中查阅了大量相关资料。但由于时间和能力有限,书中内容难免存在纰漏。若有问题,读者可通过电子邮件liubo7971@173.com与我联系,欢迎一起探讨,共同进步。

本书翻译过程得到如下项目资助:(1)重庆市教委研究项目“多核正则化机器学习理论研究”,项目号:KJ130709;(2)重庆工商大学研究项目“基于多核学习的高维数据分析研究”,项目号:2013-56-09;(3)大数据稀疏表示判别字典学习及其应用技术研究项目号:KJ1400612。

感谢河南工业大学信息科学与工程学院的靳小波博士对本书翻译的支持与鼓励,也感谢我的家人,特别感谢我妻子杨雪莉和女儿刘典。虽然翻译本书占用了本应陪她们的大量时间,但她们一直包容并支持我。

封面图

目录

  • 译者序
  • 前言
  • 第1章Android系统上的卡通化和皮肤变换1
  • 1.1访问摄像机2
  • 1.2桌面应用处理摄像机视频的主循环3
  • 1.3生成黑白素描4
  • 1.4生成彩色图像和卡通5
  • 1.5用边缘滤波器来生成“怪物”模式7
  • 1.6用皮肤检测来生成
  • “外星人”造型8
  • 1.6.1皮肤检测算法8
  • 1.6.2确定用户放置脸的位置9
  • 1.6.3皮肤变色器的实现10
  • 1.7把桌面应用移植到Android系统14
  • 1.7.1安装使用OpenCV的Android项目14
  • 1.7.2在Android NDK应用中添加卡通化代码17
  • 1.7.3在Android系统中显示保存图像的消息24
  • 1.7.4降低素描图像的随机椒盐噪声27
  • 1.8总结31
  • 第2章iPhone或iPad上基于标记的增强现实32
  • 2.1使用OpenCV创建iOS项目33
  • 2.1.1添加OpenCV框架34
  • 2.1.2包含OpenCV头文件35
  • 2.2应用程序的结构36
  • 2.3标记检测43
  • 2.3.1标记识别44
  • 2.3.2标记编码识别50
  • 2.4在三维空间放置标记53
  • 2.4.1摄像机标定53
  • 2.4.2标记姿态估计54
  • 2.5渲染3D虚拟物体56
  • 2.5.1创建OpenGL渲染层56
  • 2.5.2渲染AR场景59
  • 2.6总结64
  • 2.7参考文献64
  • 第3章无标记的增加现实65
  • 3.1基于标记的AR与无标记的AR65
  • 3.2使用特征描述符检测视频中的任意图像66
  • 3.2.1特征提取67
  • 3.2.2模式对象定义69
  • 3.2.3特征点匹配69
  • 3.2.4删除离群值70
  • 3.2.5将示例项目各部分放在一起76
  • 3.3模式姿态估计77
  • 3.3.1PatternDetector.cpp77
  • 3.3.2获取摄像机内矩阵78
  • 3.4应用的基础架构81
  • 3.4.1ARPipeline.hpp82
  • 3.4.2ARPipeline.cpp82
  • 3.4.3在OpenCV中启用三维可视化支持83
  • 3.4.4使用OpenCV来创建OpenGL窗口84
  • 3.4.5使用OpenCV捕获视频85
  • 3.4.6渲染增强现实85
  • 3.4.7演示应用程序88
  • 3.5总结91
  • 3.6参考文献91
  • 第4章使用OpenCV研究从运动中恢复结构92
  • 4.1从运动中恢复结构的概念93
  • 4.2从两幅图像估计摄像机运动94
  • 4.2.1通过丰富的特征描述符进行点匹配94
  • 4.2.2通过光流进行点匹配96
  • 4.2.3搜索摄像机矩阵99
  • 4.3重构场景102
  • 4.4从多视图中重构105
  • 4.5重构的细化108
  • 4.6用PCL来可视化3D点云111
  • 4.7使用示例代码113
  • 4.8总结114
  • 4.9参考文献115
  • 第5章基于SVM和神经网络的车牌识别116
  • 5.1ANPR简介116
  • 5.2ANPR算法118
  • 5.3车牌检测119
  • 5.3.1图像分割120
  • 5.3.2分类125
  • 5.4车牌号识别127
  • 5.4.1OCR分割127
  • 5.4.2特征提取129
  • 5.4.3OCR分类130
  • 5.4.4评价133
  • 5.5总结136
  • 第6章非刚性人脸跟踪137
  • 6.1概述138
  • 6.2实用工具139
  • 6.2.1面向对象设计139
  • 6.2.2数据收集:图像和视频标注140
  • 6.3几何约束145
  • 6.3.1Procrustes分析146
  • 6.3.2线性形状模型148
  • 6.3.3局部–全局相结合的表示150
  • 6.3.4训练与可视化152
  • 6.4面部特征检测器154
  • 6.4.1相关性块模型155
  • 6.4.2解释全局几何变换 159
  • 6.4.3训练与可视化161
  • 6.5人脸检测与初始化163
  • 6.6人脸跟踪166
  • 6.6.1人脸跟踪实现166
  • 6.6.2训练与可视化168
  • 6.6.3通用与专用人脸模型168
  • 6.7总结169
  • 6.8参考文献169
  • 第7章基于AAM和POSIT的
  • 三维头部姿态估计170
  • 7.1主动外观模型概述171
  • 7.2主动形状模型概述172
  • 7.2.1感受PCA174
  • 7.2.2三角剖分177
  • 7.2.3扭曲三角化结构179
  • 7.3模型实例化——试试主动外观模型180
  • 7.4主动外观模型搜索和拟合181
  • 7.5POSIT算法182
  • 7.5.1深入理解POSIT算法183
  • 7.5.2POSIT与头部模型185
  • 7.5.3对摄像机或视频文件进行跟踪185
  • 7.6总结187
  • 7.7参考文献187
  • 第8章基于特征脸或Fisher脸的人脸识别189
  • 8.1人脸识别与人脸检测介绍189
  • 8.1.1第一步:人脸检测191
  • 8.1.2检测人脸194
  • 8.1.3第2步:人脸预处理196
  • 8.1.4第3步:收集并训练人脸204
  • 8.1.5第4步:人脸识别212
  • 8.1.6收尾工作:保存和加载文件215
  • 8.1.7收尾工作:制作一个漂亮的交互式GUI215
  • 8.2总结225
  • 8.3参考文献225

资源下载

资源下载地址1:https://pan.baidu.com/s/1tfwj74A_x9zK7uoGSV3kpw

相关资源

网友留言