《学习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(中文版)》图书目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习实战:支持向量机
- 下一篇: 机器学习和深度学习的区别 深度学习的完全