《学习OpenCV3(中文版)》图书目录

计算机视觉是在图像处理的基础上发展起来的新兴学科。OpenCV是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。《学习OpenCV 3(中文版)》由OpenCV发起人所写,站在一线开发人员的角度用通俗易懂的语言解释了OpenCV的缘起和计算机视觉基础结构,演示了如何用OpenCV和现有的自由代码为各种各样的机器进行编程,这些都有助于读者迅速入门并渐入佳境,兴趣盎然地深入探索计算机视觉领域。《学习OpenCV 3(中文版)》可作为信息处理、计算机、机器人、人工智能、遥感图像处理、认知神经科学等有关专业的高年级学生或研究生的教学用书,也可供相关领域的研究工作者参考。

OpenCV库包含500多个函数,2500多种算法,可以扩展应用到视觉行业中的很多领域,有广泛的用途,比如安保,医学成像,模式与人脸识别,机器人和工业产品检测,等等。《学习OpenCV 3(中文版)》实用性强,内容全面,讲解透彻,可以帮助读者掌握如何构建具有一定AI(人工智能)的应用程序,使计算机能够“看见”并根据所得到的数据来做出决策。《学习OpenCV 3(中文版)》全面介绍整个OpenCV库,所有示例代码都用C++实现,同时还介绍了可以用于计算机视觉的机器学习工具。《学习OpenCV 3(中文版)》每一章都精心设计有动手练习,旨在方便课堂教学和自学,进一步帮助读者学以致用。

通过学习《学习OpenCV 3(中文版)》,读者可以奠定扎实的基础,运用计算机视觉相关知识和OpenCV库来构建简单的或者精巧复杂的应用程序。

译者序       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

你可能感兴趣的:(《学习OpenCV3(中文版)》图书目录)