学习OPENCV 3(中文版) 版权信息
- ISBN:9787302504184
- 条形码:9787302504184 ; 978-7-302-50418-4
- 装帧:一般轻型纸
- 册数:暂无
- 重量:暂无
- 所属分类:>>
学习OPENCV 3(中文版) 本书特色
计算机视觉是在图像处理的基础上发展起来的新兴学科。OpenCV是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。
《学习OpenCV 3(中文版)》由OpenCV发起人所写,站在一线开发人员的角度用通俗易懂的语言解释了OpenCV的缘起和计算机视觉基础结构,演示了如何用OpenCV和现有的自由代码为各种各样的机器进行编程,这些都有助于读者迅速入门并渐入佳境,兴趣盎然地深入探索计算机视觉领域。
《学习OpenCV 3(中文版)》可作为信息处理、计算机、机器人、人工智能、遥感图像处理、认知神经科学等有关专业的高年级学生或研究生的教学用书,也可供相关领域的研究工作者参考。
学习OPENCV 3(中文版) 内容简介
计算机视觉是在图像处理的基础上发展起来的新兴学科。OpenCV是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。《学习OpenCV 3(中文版)》由OpenCV发起人所写,站在一线开发人员的角度用通俗易懂的语言解释了OpenCV的缘起和计算机视觉基础结构,演示了如何用OpenCV和现有的自由代码为各种各样的机器进行编程,这些都有助于读者迅速入门并渐入佳境,兴趣盎然地深入探索计算机视觉领域。《学习OpenCV 3(中文版)》可作为信息处理、计算机、机器人、人工智能、遥感图像处理、认知神经科学等有关专业的高年级学生或研究生的教学用书,也可供相关领域的研究工作者参考。
学习OPENCV 3(中文版) 目录
目录
译者序 xvii
前言 xxi
第1章
概述
1
什么是OpenCV 1
OpenCV怎么用 2
什么是计算机视觉 3
OpenCV的起源 6
OpenCV的结构 7
使用IPP来加速OpenCV 8
谁拥有OpenCV 9
下载和安装OpenCV 9
安装 9
从Git获取*新的OpenCV 12
更多的OpenCV文档 13
提供的文档 13
在线文档和维基资源 13
OpenCV贡献库 15
下载和编译Contributed模块 16
可移植性 16
小结 17
练习 17
第2章 OpenCV初探 19
头文件 19
资源 20
**个程序:显示图片 21
第二个程序:视频 23
跳转 24
简单的变换 28
不那么简单的变换 30
从摄像头中读取 32
写入AVI文件 33
小结 34
练习 35
第3章
了解OpenCV的数据类型 37
基础知识 37
OpenCV的数据类型 37
基础类型概述 38
深入了解基础类型 39
辅助对象 46
工具函数 53
模板结构 60
小结 61
练习 61
第4章
图像和大型数组类型
63
动态可变的存储 63
cv::Mat类N维稠密数组 64
创建一个数组 65
独立获取数组元素 69
数组迭代器NAryMatIterator 72
通过块访问数组元素 74
矩阵表达式:代数和cv::Mat 75
饱和转换 77
数组还可以做很多事情 78
稀疏数据类cv::SparesMat 79
访问稀疏数组中的元素 79
稀疏数组中的特有函数 82
为大型数组准备的模板结构 83
小结 85
练习 86
第5章
矩阵操作 87
矩阵还可以做更多事情 87
cv::abs() 90
cv::add() 91
cv::addWeighted() 92
cv::bitwise_and() 94
cv::bitwise_not() 94
cv::bitwise_or() 94
cv::bitwise_xor() 95
cv::calcCovarMatrix() 95
cv::cartToPolar() 97
cv::checkRange() 97
cv::compare() 98
cv::completeSymm() 99
cv::convertScaleAbs() 99
cv::countNonZero() 100
cv::Mat cv::cvarrToMat() 100
cv::dct() 101
cv::dft() 102
cv::cvtColor() 103
cv::determinant() 106
cv::divide() 106
cv::eigen() 106
cv::exp() 107
cv::extractImageCOI() 107
cv::flip() 108
cv::gemm() 108
cv::getConvertElem()和cv::getConvertScaleElem()
109
cv::idct() 110
cv::inRange() 110
cv::insertImageCOI() 111
cv::invert() 111
cv::log() 112
cv::LUT() 112
cv::Mahalanobis() 113
cv::max() 114
cv::mean() 115
cv::meanStdDev() 116
cv::merge() 116
cv::min() 116
cv::minMaxIdx() 117
cv::minMaxLoc() 118
cv::mixChannels() 119
cv::mulSpectrums() 120
cv::multiply() 121
cv::mulTransposed() 121
cv::norm() 122
cv::normalize() 123
cv::perspectiveTransform() 125
cv::phase() 125
cv::polarToCart() 126
cv::pow() 126
cv::randu() 127
cv::randn() 127
cv::repeat() 129
cv::scaleAdd() 129
cv::setIdentity() 130
cv::solve() 130
cv::solveCubic() 131
cv::solvePoly() 132
cv::sort() 132
cv::sortIdx() 133
cv::split() 133
cv::sqrt() 134
cv::subtract() 135
cv::sum() 135
cv::trace() 135
cv::transform() 136
cv::transpose() 136
小结 137
练习 137
第6章
绘图和注释 139
绘图 139
艺术线条和填充多边形 140
字体和文字 146
小结 148
练习 148
第7章 OpenCV中的函数子 151
操作对象 151
主成分分析(cv::PCA) 151
奇异值分解cv::SVD 154
随机数发生器cv::RNG 157
小结 160
练习 160
第8章
图像、视频与数据文件
163
HighGUI模块:一个可移植的图形工具包 163
图像文件的处理 164
图像的载入与保存 165
关于codecs的一些注释 167
图片的编码与解码 168
视频的处理 169
使用cv::VideoCapture对象读取视频流 169
使用cv::VideoWriter对象写入视频 175
数据存储 176
cv::FileStorage的写入 177
使用cv::FileStorage读取文件 179
cv::FileNode 180
小结 183
练习 183
第9章
跨平台和Windows系统 187
基于Windows开发 187
HighGUI原生图形用户接口 188
通过Qt后端工作 199
综合OpenCV和全功能GUI工具包 209
小结 222
练习 222
第10章
滤波与卷积 225
概览 225
预备知识 225
滤波、核和卷积 225
边界外推和边界处理 227
阈值化操作 230
Otsu算法 233
自适应阈值 233
平滑 235
简单模糊和方框型滤波器 236
中值滤波器 238
高斯滤波器 239
双边滤波器 240
导数和梯度 242
索贝尔导数 242
Scharr滤波器 244
拉普拉斯变换 245
图像形态学 246
膨胀和腐蚀 247
通用形态学函数 250
开操作和闭操作 251
形态学梯度 254
顶帽和黑帽 256
自定义核 258
用任意线性滤波器做卷积 259
用cv::filter2D()进行卷积 259
通过cv::sepFilter2D使用可分核 260
生成卷积核 260
小结 262
练习 262
第11章
常见的图像变换
267
概览 267
拉伸、收缩、扭曲和旋转 267
均匀调整 268
图像金字塔 269
不均匀映射 273
仿射变换 274
透视变换 279
通用变换 282
极坐标映射 282
LogPolar 283
任意映射 287
图像修复 287
图像修复 288
去噪 289
直方图均衡化 292
cv::equalizeHist()用于对比均衡 294
小结 295
练习 295
第12章
图像分析
297
概览 297
离散傅里叶变换 297
cv::dft()离散傅里叶变换 298
cv::idft()用于离散傅里叶逆变换 300
cv::mulSpectrums()频谱乘法 300
使用傅里叶变换进行卷积 301
cv::dct()离散余弦变换 303
cv::idct()离散余弦逆变换 304
积分图 304
cv::integral()标准求和积分 306
cv::integral()平方求和积分 306
cv::integral()倾斜求和积分 307
Canny边缘检测 307
cv::Canny() 309
Hough变换 309
Hough线变换 309
Hough圆变换 313
距离变换 316
cv::distanceTransform()无标记距离变换 317
cv::distanceTransform()有标记距离变换 317
分割 318
漫水填充 318
分水岭算法 322
Grabcuts算法 323
Mean-Shift分割算法 325
小结 326
练习 326
第13章
直方图和模板
329
OpenCV中直方图的表示 331
cv::calcHist():从数据创建直方图 332
基本直方图操作 334
直方图归一化 334
直方图二值化 335
找出*显著的区间 335
比较两个直方图 337
直方图用法示例 339
一些复杂的直方图方法 342
EMD距离 342
反向投影 347
模板匹配 350
方差匹配方法(cv::TM_SQDIFF) 351
归一化方差匹配方法(cv::TM_SQDIFF_NORMED) 352
相关性匹配方法(cv::TM_CCORR) 352
归一化的互相关匹配方法(cv::TM_CCORR_NORMED) 352
相关系数匹配方法(cv::TM_CCOEFF) 352
归一化的相关系数匹配方法(cv::TM_CCOEFF_NORMED) 352
小结 355
练习 355
第14章
轮廓 359
轮廓查找 359
轮廓层次 360
绘制轮廓 364
轮廓实例 365
另一个轮廓实例 366
快速连通区域分析 368
深入分析轮廓 370
多边形逼近 370
几何及特性概括 372
几何学测试 377
匹配轮廓与图像 378
矩 378
再论矩 380
使用Hu矩进行匹配 383
利用形状场景方法比较轮廓 384
小结 388
练习 389
第15章
背景提取
391
背景提取概述 391
背景提取的缺点 392
场景建模 392
像素 393
帧间差分 396
平均背景法 397
累计均值,方差和协方差 403
更复杂的背景提取方法 410
结构 413
进行背景学习 414
存在移动的前景物体时进行背景学习 417
背景差分:检测前景物体 418
使用码书法的背景模型 419
关于码书法的其他想法 419
使用连通分量进行前景清理 420
小测试 423
两种背景方法的对比 425
OpenCV中的背景提取方法的封装 425
cv::BackgroundSubstractor基类 426
KB方法 427
Zivkovic方法 428
小结 431
练习 431
第16章
关键点和描述子
433
关键点和跟踪基础 433
角点检测 434
光流简介 437
Lucas-Kanade稀疏光流法 438
广义关键点和描述符 448
光流,跟踪和识别 450
OpenCV一般如何处理关键点和描述符 451
核心关键点检测方法 461
关键点过滤 497
匹配方法 499
结果显示 505
小结 508
练习 508
第17章
跟踪 511
跟踪中的概念 511
稠密光流 512
Farneback多项式扩展算法 513
Dual TV-L1模型 515
简单光流算法 519
Mean-Shift算法和Camshift 追踪 522
Mean-Shift算法 522
Camshift 526
运动模板 526
估计 533
卡尔曼滤波器 534
扩展卡尔曼滤波器简述 549
小结 551
练习 551
第18章
相机模型与标定
553
相机模型 554
射影几何基础 556
Rodrigues变换 558
透镜畸变 559
标定 562
旋转矩阵和平移向量 563
标定板 566
单应性 572
相机标定 576
矫正 587
矫正映射 587
使用cv::convertMaps()在不同表示方式之间转换矫正映射 588
使用cv::initUndistortRectifyMap()计算矫正映射 589
使用cv::remap()矫正图像 591
使用cv::undistort()进行矫正 591
使用cv::undistortPoints()进行稀疏矫正
591
与标定结合 592
小结 595
练习 596
第19章
投影与三维视觉
599
投影 600
仿射变换与透视变换 601
鸟瞰图变换实例 602
三维姿态估计 606
单摄像机姿态估计 607
立体成像 609
三角测量 610
对极几何 613
本征矩阵和基本矩阵 615
计算极线 624
立体校正 624
立体校正 628
立体匹配 638
立体校正、标定和对应的示例代码 650
来自三维重投影的深度映射 657
来自运动的结构 659
二维与三维直线拟合 659
小结 662
练习 662
第20章
机器学习基础
665
什么是机器学习 665
训练集和测试集 666
有监督学习和无监督学习 667
生成式模型和判别式模型 669
OpenCV机器学习算法 669
机器学习在视觉中的应用 671
变量的重要性 673
诊断机器学习中的问题 674
ML库中遗留的机器学习算法 678
K均值 679
马氏距离 684
小结 687
练习 687
第21章 StatModel:OpenCV中的基准学习模型 689
ML库中的常见例程 689
训练方法和cv::ml::TrainData的结构 691
预测 697
使用cv::StatModel的机器学习算法 698
朴素贝叶斯分类器 699
二叉决策树 703
Boosting方法 716
随机森林 721
期望*大化算法 725
K近邻算法 729
多层感知机 731
支持向量机 739
小结 749
练习 750
第22章
目标检测
753
基于树的目标检测技术 753
级联分类器 754
有监督学习和boosting理论 756
学习新目标 764
使用支持向量机的目标识别 772
Latent SVM用于目标识别 772
Bag of Words算法与语义分类 775
小结 780
练习 780
第23章 OpenCV的未来 783
过去与未来 783
OpenCV 3.x 784
我们上一次预测怎么样? 784
未来应用 785
目前GSoC的进展 787
社区贡献 788
OpenCV.org 789
一些关于AI的猜测 790
结语 793
附录A 平面划分 795
附录B opencv_contrib模块概述 809
附录C 标定图案 813
参考文献 819
展开全部
学习OPENCV 3(中文版) 作者简介
作者简介
安德里安•凯勒(Adrian Kaehler)博士,企业家,硅谷深度学习小组创始人。他的工作重心包括机器学习、统计建模、计算机视觉和机器人。他就职于斯坦福大学人工智能实验室,他还是该校斯坦利团队的成员,该团队在美国国家航空与航天局(NASA)主办的机器人挑战赛中胜出,赢得了200万美元的大奖。
加里•布拉德斯基(Gary Bradski)博士是Arraiy.ai的首席架构师(CTO),他曾经就职于好几个创业公司,担任过斯坦福大学计算机系人工智能实验室的顾问教授。他是OpenCV库的创始人,是一名享有广泛声誉的演讲人、开源社区的积极参与者。
译者团队介绍作者简介
安德里安•凯勒(Adrian Kaehler)博士,企业家,硅谷深度学习小组创始人。他的工作重心包括机器学习、统计建模、计算机视觉和机器人。他就职于斯坦福大学人工智能实验室,他还是该校斯坦利团队的成员,该团队在美国国家航空与航天局(NASA)主办的机器人挑战赛中胜出,赢得了200万美元的大奖。
加里•布拉德斯基(Gary Bradski)博士是Arraiy.ai的首席架构师(CTO),他曾经就职于好几个创业公司,担任过斯坦福大学计算机系人工智能实验室的顾问教授。他是OpenCV库的创始人,是一名享有广泛声誉的演讲人、开源社区的积极参与者。
译者团队介绍
阿丘科技
阿丘科技是一家以机器学习、3D 视觉和机器人技术为核心的高科技企业,拥有业内领先的机器人3D 视觉技术、机器学习算法及标准行业解决方案。
人工智能,已经成为全球技术发展、应用拓展的前沿领域,也是引领未来的一枚关键的棋子。计算机视觉作为人工智能的关键应用点之一,近年来兴起的创业公司主要集中在人脸识别、无人驾驶、增强现实等领域。而阿丘科技独辟蹊径,将人工智能技术与机器人结合,将其应用于工业自动化领域,并在短短一年内在多个场景下落地,取得了出色的成果。
相较于传统的机器视觉,阿丘科技将深度学习用于工业视觉检测,在缺陷检测分类等场景下具有突出优势。而三维计算机视觉与机器人的结合,更是极大地扩展了工业机器人的应用场景。凭借国际顶尖的技术人才,领先的计算机视觉、机器人技术,阿丘科技走在了智能工业视觉技术的前列。随着人工智能和智能制造行业的兴起,我司将助力中国工业自动化以及智能化的发展。
尽管由于某些原因,OpenCV并没有在正式版本中提供自身完备的深度学习工具(我们很高兴这一点在3.3 版本中有了巨大改善),但是OpenCV作为从事机器视觉应用技术开发的必备工具,同样,也是阿丘科技技术开发的基础工具之一,有着不可替代的作用。在很多固定场景下,基于OpenCV等视觉工具的开发的算法依然具有极大的应用潜力。尤其是对于初学者而言,我们还是非常推荐使用OpenCV完成一些视觉项目,而不是直接用深度学习构建空中楼阁。我司能够在一年内推出经受复杂应用场景检验、市场普遍认可的产品,有一大份功劳,也归属于OpenCV对项目完成和开发研究的推动。高效、精准、便捷等诸多特质,使得OpenCV在学术研究和商业应用中占据了重要地位。
阿丘科技致力于构建领先的智能机器人视觉平台,以视觉为切入点,将 AI 与机器人结合。创始团队源自清华大学计算机系人工智能实验室,聚集了来自清华、CMU 等全球高等院校的顶尖人才,以及工业机器人和自动化资深行业从业者。我们期待,能有更多热爱视觉、工业自动化和机器人技术的朋友加入阿丘科技,共同去探索和扩展机器人应用的边界!