學(xué)習(xí)OPENCV 3(中文版) 版權(quán)信息
- ISBN:9787302504184
- 條形碼:9787302504184 ; 978-7-302-50418-4
- 裝幀:一般輕型紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
學(xué)習(xí)OPENCV 3(中文版) 本書特色
計算機(jī)視覺是在圖像處理的基礎(chǔ)上發(fā)展起來的新興學(xué)科。OpenCV是一個開源的計算機(jī)視覺庫,是英特爾公司資助的兩大圖像處理利器之一。它為圖像處理、模式識別、三維重建、物體跟蹤、機(jī)器學(xué)習(xí)和線性代數(shù)提供了各種各樣的算法。
《學(xué)習(xí)OpenCV 3(中文版)》由OpenCV發(fā)起人所寫,站在一線開發(fā)人員的角度用通俗易懂的語言解釋了OpenCV的緣起和計算機(jī)視覺基礎(chǔ)結(jié)構(gòu),演示了如何用OpenCV和現(xiàn)有的自由代碼為各種各樣的機(jī)器進(jìn)行編程,這些都有助于讀者迅速入門并漸入佳境,興趣盎然地深入探索計算機(jī)視覺領(lǐng)域。
《學(xué)習(xí)OpenCV 3(中文版)》可作為信息處理、計算機(jī)、機(jī)器人、人工智能、遙感圖像處理、認(rèn)知神經(jīng)科學(xué)等有關(guān)專業(yè)的高年級學(xué)生或研究生的教學(xué)用書,也可供相關(guān)領(lǐng)域的研究工作者參考。
學(xué)習(xí)OPENCV 3(中文版) 內(nèi)容簡介
計算機(jī)視覺是在圖像處理的基礎(chǔ)上發(fā)展起來的新興學(xué)科。OpenCV是一個開源的計算機(jī)視覺庫,是英特爾公司資助的兩大圖像處理利器之一。它為圖像處理、模式識別、三維重建、物體跟蹤、機(jī)器學(xué)習(xí)和線性代數(shù)提供了各種各樣的算法!秾W(xué)習(xí)OpenCV 3(中文版)》由OpenCV發(fā)起人所寫,站在一線開發(fā)人員的角度用通俗易懂的語言解釋了OpenCV的緣起和計算機(jī)視覺基礎(chǔ)結(jié)構(gòu),演示了如何用OpenCV和現(xiàn)有的自由代碼為各種各樣的機(jī)器進(jìn)行編程,這些都有助于讀者迅速入門并漸入佳境,興趣盎然地深入探索計算機(jī)視覺領(lǐng)域!秾W(xué)習(xí)OpenCV 3(中文版)》可作為信息處理、計算機(jī)、機(jī)器人、人工智能、遙感圖像處理、認(rèn)知神經(jīng)科學(xué)等有關(guān)專業(yè)的高年級學(xué)生或研究生的教學(xué)用書,也可供相關(guān)領(lǐng)域的研究工作者參考。
學(xué)習(xí)OPENCV 3(中文版) 目錄
目錄
譯者序 xvii
前言 xxi
第1章
概述
1
什么是OpenCV 1
OpenCV怎么用 2
什么是計算機(jī)視覺 3
OpenCV的起源 6
OpenCV的結(jié)構(gòu) 7
使用IPP來加速OpenCV 8
誰擁有OpenCV 9
下載和安裝OpenCV 9
安裝 9
從Git獲取*新的OpenCV 12
更多的OpenCV文檔 13
提供的文檔 13
在線文檔和維基資源 13
OpenCV貢獻(xiàn)庫 15
下載和編譯Contributed模塊 16
可移植性 16
小結(jié) 17
練習(xí) 17
第2章 OpenCV初探 19
頭文件 19
資源 20
**個程序:顯示圖片 21
第二個程序:視頻 23
跳轉(zhuǎn) 24
簡單的變換 28
不那么簡單的變換 30
從攝像頭中讀取 32
寫入AVI文件 33
小結(jié) 34
練習(xí) 35
第3章
了解OpenCV的數(shù)據(jù)類型 37
基礎(chǔ)知識 37
OpenCV的數(shù)據(jù)類型 37
基礎(chǔ)類型概述 38
深入了解基礎(chǔ)類型 39
輔助對象 46
工具函數(shù) 53
模板結(jié)構(gòu) 60
小結(jié) 61
練習(xí) 61
第4章
圖像和大型數(shù)組類型
63
動態(tài)可變的存儲 63
cv::Mat類N維稠密數(shù)組 64
創(chuàng)建一個數(shù)組 65
獨(dú)立獲取數(shù)組元素 69
數(shù)組迭代器NAryMatIterator 72
通過塊訪問數(shù)組元素 74
矩陣表達(dá)式:代數(shù)和cv::Mat 75
飽和轉(zhuǎn)換 77
數(shù)組還可以做很多事情 78
稀疏數(shù)據(jù)類cv::SparesMat 79
訪問稀疏數(shù)組中的元素 79
稀疏數(shù)組中的特有函數(shù) 82
為大型數(shù)組準(zhǔn)備的模板結(jié)構(gòu) 83
小結(jié) 85
練習(xí) 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
小結(jié) 137
練習(xí) 137
第6章
繪圖和注釋 139
繪圖 139
藝術(shù)線條和填充多邊形 140
字體和文字 146
小結(jié) 148
練習(xí) 148
第7章 OpenCV中的函數(shù)子 151
操作對象 151
主成分分析(cv::PCA) 151
奇異值分解cv::SVD 154
隨機(jī)數(shù)發(fā)生器cv::RNG 157
小結(jié) 160
練習(xí) 160
第8章
圖像、視頻與數(shù)據(jù)文件
163
HighGUI模塊:一個可移植的圖形工具包 163
圖像文件的處理 164
圖像的載入與保存 165
關(guān)于codecs的一些注釋 167
圖片的編碼與解碼 168
視頻的處理 169
使用cv::VideoCapture對象讀取視頻流 169
使用cv::VideoWriter對象寫入視頻 175
數(shù)據(jù)存儲 176
cv::FileStorage的寫入 177
使用cv::FileStorage讀取文件 179
cv::FileNode 180
小結(jié) 183
練習(xí) 183
第9章
跨平臺和Windows系統(tǒng) 187
基于Windows開發(fā) 187
HighGUI原生圖形用戶接口 188
通過Qt后端工作 199
綜合OpenCV和全功能GUI工具包 209
小結(jié) 222
練習(xí) 222
第10章
濾波與卷積 225
概覽 225
預(yù)備知識 225
濾波、核和卷積 225
邊界外推和邊界處理 227
閾值化操作 230
Otsu算法 233
自適應(yīng)閾值 233
平滑 235
簡單模糊和方框型濾波器 236
中值濾波器 238
高斯濾波器 239
雙邊濾波器 240
導(dǎo)數(shù)和梯度 242
索貝爾導(dǎo)數(shù) 242
Scharr濾波器 244
拉普拉斯變換 245
圖像形態(tài)學(xué) 246
膨脹和腐蝕 247
通用形態(tài)學(xué)函數(shù) 250
開操作和閉操作 251
形態(tài)學(xué)梯度 254
頂帽和黑帽 256
自定義核 258
用任意線性濾波器做卷積 259
用cv::filter2D()進(jìn)行卷積 259
通過cv::sepFilter2D使用可分核 260
生成卷積核 260
小結(jié) 262
練習(xí) 262
第11章
常見的圖像變換
267
概覽 267
拉伸、收縮、扭曲和旋轉(zhuǎn) 267
均勻調(diào)整 268
圖像金字塔 269
不均勻映射 273
仿射變換 274
透視變換 279
通用變換 282
極坐標(biāo)映射 282
LogPolar 283
任意映射 287
圖像修復(fù) 287
圖像修復(fù) 288
去噪 289
直方圖均衡化 292
cv::equalizeHist()用于對比均衡 294
小結(jié) 295
練習(xí) 295
第12章
圖像分析
297
概覽 297
離散傅里葉變換 297
cv::dft()離散傅里葉變換 298
cv::idft()用于離散傅里葉逆變換 300
cv::mulSpectrums()頻譜乘法 300
使用傅里葉變換進(jìn)行卷積 301
cv::dct()離散余弦變換 303
cv::idct()離散余弦逆變換 304
積分圖 304
cv::integral()標(biāo)準(zhǔn)求和積分 306
cv::integral()平方求和積分 306
cv::integral()傾斜求和積分 307
Canny邊緣檢測 307
cv::Canny() 309
Hough變換 309
Hough線變換 309
Hough圓變換 313
距離變換 316
cv::distanceTransform()無標(biāo)記距離變換 317
cv::distanceTransform()有標(biāo)記距離變換 317
分割 318
漫水填充 318
分水嶺算法 322
Grabcuts算法 323
Mean-Shift分割算法 325
小結(jié) 326
練習(xí) 326
第13章
直方圖和模板
329
OpenCV中直方圖的表示 331
cv::calcHist():從數(shù)據(jù)創(chuàng)建直方圖 332
基本直方圖操作 334
直方圖歸一化 334
直方圖二值化 335
找出*顯著的區(qū)間 335
比較兩個直方圖 337
直方圖用法示例 339
一些復(fù)雜的直方圖方法 342
EMD距離 342
反向投影 347
模板匹配 350
方差匹配方法(cv::TM_SQDIFF) 351
歸一化方差匹配方法(cv::TM_SQDIFF_NORMED) 352
相關(guān)性匹配方法(cv::TM_CCORR) 352
歸一化的互相關(guān)匹配方法(cv::TM_CCORR_NORMED) 352
相關(guān)系數(shù)匹配方法(cv::TM_CCOEFF) 352
歸一化的相關(guān)系數(shù)匹配方法(cv::TM_CCOEFF_NORMED) 352
小結(jié) 355
練習(xí) 355
第14章
輪廓 359
輪廓查找 359
輪廓層次 360
繪制輪廓 364
輪廓實(shí)例 365
另一個輪廓實(shí)例 366
快速連通區(qū)域分析 368
深入分析輪廓 370
多邊形逼近 370
幾何及特性概括 372
幾何學(xué)測試 377
匹配輪廓與圖像 378
矩 378
再論矩 380
使用Hu矩進(jìn)行匹配 383
利用形狀場景方法比較輪廓 384
小結(jié) 388
練習(xí) 389
第15章
背景提取
391
背景提取概述 391
背景提取的缺點(diǎn) 392
場景建模 392
像素 393
幀間差分 396
平均背景法 397
累計均值,方差和協(xié)方差 403
更復(fù)雜的背景提取方法 410
結(jié)構(gòu) 413
進(jìn)行背景學(xué)習(xí) 414
存在移動的前景物體時進(jìn)行背景學(xué)習(xí) 417
背景差分:檢測前景物體 418
使用碼書法的背景模型 419
關(guān)于碼書法的其他想法 419
使用連通分量進(jìn)行前景清理 420
小測試 423
兩種背景方法的對比 425
OpenCV中的背景提取方法的封裝 425
cv::BackgroundSubstractor基類 426
KB方法 427
Zivkovic方法 428
小結(jié) 431
練習(xí) 431
第16章
關(guān)鍵點(diǎn)和描述子
433
關(guān)鍵點(diǎn)和跟蹤基礎(chǔ) 433
角點(diǎn)檢測 434
光流簡介 437
Lucas-Kanade稀疏光流法 438
廣義關(guān)鍵點(diǎn)和描述符 448
光流,跟蹤和識別 450
OpenCV一般如何處理關(guān)鍵點(diǎn)和描述符 451
核心關(guān)鍵點(diǎn)檢測方法 461
關(guān)鍵點(diǎn)過濾 497
匹配方法 499
結(jié)果顯示 505
小結(jié) 508
練習(xí) 508
第17章
跟蹤 511
跟蹤中的概念 511
稠密光流 512
Farneback多項式擴(kuò)展算法 513
Dual TV-L1模型 515
簡單光流算法 519
Mean-Shift算法和Camshift 追蹤 522
Mean-Shift算法 522
Camshift 526
運(yùn)動模板 526
估計 533
卡爾曼濾波器 534
擴(kuò)展卡爾曼濾波器簡述 549
小結(jié) 551
練習(xí) 551
第18章
相機(jī)模型與標(biāo)定
553
相機(jī)模型 554
射影幾何基礎(chǔ) 556
Rodrigues變換 558
透鏡畸變 559
標(biāo)定 562
旋轉(zhuǎn)矩陣和平移向量 563
標(biāo)定板 566
單應(yīng)性 572
相機(jī)標(biāo)定 576
矯正 587
矯正映射 587
使用cv::convertMaps()在不同表示方式之間轉(zhuǎn)換矯正映射 588
使用cv::initUndistortRectifyMap()計算矯正映射 589
使用cv::remap()矯正圖像 591
使用cv::undistort()進(jìn)行矯正 591
使用cv::undistortPoints()進(jìn)行稀疏矯正
591
與標(biāo)定結(jié)合 592
小結(jié) 595
練習(xí) 596
第19章
投影與三維視覺
599
投影 600
仿射變換與透視變換 601
鳥瞰圖變換實(shí)例 602
三維姿態(tài)估計 606
單攝像機(jī)姿態(tài)估計 607
立體成像 609
三角測量 610
對極幾何 613
本征矩陣和基本矩陣 615
計算極線 624
立體校正 624
立體校正 628
立體匹配 638
立體校正、標(biāo)定和對應(yīng)的示例代碼 650
來自三維重投影的深度映射 657
來自運(yùn)動的結(jié)構(gòu) 659
二維與三維直線擬合 659
小結(jié) 662
練習(xí) 662
第20章
機(jī)器學(xué)習(xí)基礎(chǔ)
665
什么是機(jī)器學(xué)習(xí) 665
訓(xùn)練集和測試集 666
有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí) 667
生成式模型和判別式模型 669
OpenCV機(jī)器學(xué)習(xí)算法 669
機(jī)器學(xué)習(xí)在視覺中的應(yīng)用 671
變量的重要性 673
診斷機(jī)器學(xué)習(xí)中的問題 674
ML庫中遺留的機(jī)器學(xué)習(xí)算法 678
K均值 679
馬氏距離 684
小結(jié) 687
練習(xí) 687
第21章 StatModel:OpenCV中的基準(zhǔn)學(xué)習(xí)模型 689
ML庫中的常見例程 689
訓(xùn)練方法和cv::ml::TrainData的結(jié)構(gòu) 691
預(yù)測 697
使用cv::StatModel的機(jī)器學(xué)習(xí)算法 698
樸素貝葉斯分類器 699
二叉決策樹 703
Boosting方法 716
隨機(jī)森林 721
期望*大化算法 725
K近鄰算法 729
多層感知機(jī) 731
支持向量機(jī) 739
小結(jié) 749
練習(xí) 750
第22章
目標(biāo)檢測
753
基于樹的目標(biāo)檢測技術(shù) 753
級聯(lián)分類器 754
有監(jiān)督學(xué)習(xí)和boosting理論 756
學(xué)習(xí)新目標(biāo) 764
使用支持向量機(jī)的目標(biāo)識別 772
Latent SVM用于目標(biāo)識別 772
Bag of Words算法與語義分類 775
小結(jié) 780
練習(xí) 780
第23章 OpenCV的未來 783
過去與未來 783
OpenCV 3.x 784
我們上一次預(yù)測怎么樣? 784
未來應(yīng)用 785
目前GSoC的進(jìn)展 787
社區(qū)貢獻(xiàn) 788
OpenCV.org 789
一些關(guān)于AI的猜測 790
結(jié)語 793
附錄A 平面劃分 795
附錄B opencv_contrib模塊概述 809
附錄C 標(biāo)定圖案 813
參考文獻(xiàn) 819
展開全部
學(xué)習(xí)OPENCV 3(中文版) 作者簡介
作者簡介
安德里安•凱勒(Adrian Kaehler)博士,企業(yè)家,硅谷深度學(xué)習(xí)小組創(chuàng)始人。他的工作重心包括機(jī)器學(xué)習(xí)、統(tǒng)計建模、計算機(jī)視覺和機(jī)器人。他就職于斯坦福大學(xué)人工智能實(shí)驗室,他還是該校斯坦利團(tuán)隊的成員,該團(tuán)隊在美國國家航空與航天局(NASA)主辦的機(jī)器人挑戰(zhàn)賽中勝出,贏得了200萬美元的大獎。
加里•布拉德斯基(Gary Bradski)博士是Arraiy.ai的首席架構(gòu)師(CTO),他曾經(jīng)就職于好幾個創(chuàng)業(yè)公司,擔(dān)任過斯坦福大學(xué)計算機(jī)系人工智能實(shí)驗室的顧問教授。他是OpenCV庫的創(chuàng)始人,是一名享有廣泛聲譽(yù)的演講人、開源社區(qū)的積極參與者。
譯者團(tuán)隊介紹作者簡介
安德里安•凱勒(Adrian Kaehler)博士,企業(yè)家,硅谷深度學(xué)習(xí)小組創(chuàng)始人。他的工作重心包括機(jī)器學(xué)習(xí)、統(tǒng)計建模、計算機(jī)視覺和機(jī)器人。他就職于斯坦福大學(xué)人工智能實(shí)驗室,他還是該校斯坦利團(tuán)隊的成員,該團(tuán)隊在美國國家航空與航天局(NASA)主辦的機(jī)器人挑戰(zhàn)賽中勝出,贏得了200萬美元的大獎。
加里•布拉德斯基(Gary Bradski)博士是Arraiy.ai的首席架構(gòu)師(CTO),他曾經(jīng)就職于好幾個創(chuàng)業(yè)公司,擔(dān)任過斯坦福大學(xué)計算機(jī)系人工智能實(shí)驗室的顧問教授。他是OpenCV庫的創(chuàng)始人,是一名享有廣泛聲譽(yù)的演講人、開源社區(qū)的積極參與者。
譯者團(tuán)隊介紹
阿丘科技
阿丘科技是一家以機(jī)器學(xué)習(xí)、3D 視覺和機(jī)器人技術(shù)為核心的高科技企業(yè),擁有業(yè)內(nèi)領(lǐng)先的機(jī)器人3D 視覺技術(shù)、機(jī)器學(xué)習(xí)算法及標(biāo)準(zhǔn)行業(yè)解決方案。
人工智能,已經(jīng)成為全球技術(shù)發(fā)展、應(yīng)用拓展的前沿領(lǐng)域,也是引領(lǐng)未來的一枚關(guān)鍵的棋子。計算機(jī)視覺作為人工智能的關(guān)鍵應(yīng)用點(diǎn)之一,近年來興起的創(chuàng)業(yè)公司主要集中在人臉識別、無人駕駛、增強(qiáng)現(xiàn)實(shí)等領(lǐng)域。而阿丘科技獨(dú)辟蹊徑,將人工智能技術(shù)與機(jī)器人結(jié)合,將其應(yīng)用于工業(yè)自動化領(lǐng)域,并在短短一年內(nèi)在多個場景下落地,取得了出色的成果。
相較于傳統(tǒng)的機(jī)器視覺,阿丘科技將深度學(xué)習(xí)用于工業(yè)視覺檢測,在缺陷檢測分類等場景下具有突出優(yōu)勢。而三維計算機(jī)視覺與機(jī)器人的結(jié)合,更是極大地擴(kuò)展了工業(yè)機(jī)器人的應(yīng)用場景。憑借國際頂尖的技術(shù)人才,領(lǐng)先的計算機(jī)視覺、機(jī)器人技術(shù),阿丘科技走在了智能工業(yè)視覺技術(shù)的前列。隨著人工智能和智能制造行業(yè)的興起,我司將助力中國工業(yè)自動化以及智能化的發(fā)展。
盡管由于某些原因,OpenCV并沒有在正式版本中提供自身完備的深度學(xué)習(xí)工具(我們很高興這一點(diǎn)在3.3 版本中有了巨大改善),但是OpenCV作為從事機(jī)器視覺應(yīng)用技術(shù)開發(fā)的必備工具,同樣,也是阿丘科技技術(shù)開發(fā)的基礎(chǔ)工具之一,有著不可替代的作用。在很多固定場景下,基于OpenCV等視覺工具的開發(fā)的算法依然具有極大的應(yīng)用潛力。尤其是對于初學(xué)者而言,我們還是非常推薦使用OpenCV完成一些視覺項目,而不是直接用深度學(xué)習(xí)構(gòu)建空中樓閣。我司能夠在一年內(nèi)推出經(jīng)受復(fù)雜應(yīng)用場景檢驗、市場普遍認(rèn)可的產(chǎn)品,有一大份功勞,也歸屬于OpenCV對項目完成和開發(fā)研究的推動。高效、精準(zhǔn)、便捷等諸多特質(zhì),使得OpenCV在學(xué)術(shù)研究和商業(yè)應(yīng)用中占據(jù)了重要地位。
阿丘科技致力于構(gòu)建領(lǐng)先的智能機(jī)器人視覺平臺,以視覺為切入點(diǎn),將 AI 與機(jī)器人結(jié)合。創(chuàng)始團(tuán)隊源自清華大學(xué)計算機(jī)系人工智能實(shí)驗室,聚集了來自清華、CMU 等全球高等院校的頂尖人才,以及工業(yè)機(jī)器人和自動化資深行業(yè)從業(yè)者。我們期待,能有更多熱愛視覺、工業(yè)自動化和機(jī)器人技術(shù)的朋友加入阿丘科技,共同去探索和擴(kuò)展機(jī)器人應(yīng)用的邊界!