目 錄
基 礎 篇
第 1章 初識OpenCV 2
1.1 什麼是OpenCV 2
1.1.1 OpenCV與計算機視覺 2
1.1.2 OpenCV的發展 3
1.1.3 OpenCV 4帶來瞭什麼 4
1.2 安裝OpenCV 4 4
1.2.1 在Windows係統中
安裝OpenCV 4 4
1.2.2 Image Watch插件的使用 12
1.2.3 在Ubuntu係統中安裝
OpenCV 4 12
1.2.4 opencv_contrib擴展模塊的
安裝 15
1.2.5 安裝過程中常見問題的解決
方案 17
1.3 瞭解OpenCV的模塊架構 18
1.4 源碼示例程序展示 19
1.4.1 配置示例程序運行環境 19
1.4.2 邊緣檢測edge 21
1.4.3 K聚類kmeans 22
1.4.4 二維碼識彆qrcode 23
1.4.5 相機使用video_capture_starter 24
1.4.6 視頻物體跟蹤camshiftdemo 25
1.5 本章小結 26
第 2章 數據載入、顯示與保存 27
2.1 圖像存儲容器 27
2.1.1 Mat類介紹 27
2.1.2 Mat類構造與賦值 29
2.1.3 Mat類支持的運算 33
2.1.4 Mat類元素的讀取 35
2.2 圖像的讀取與顯示 37
2.2.1 圖像讀取函數imread 38
2.2.2 圖像窗口函數namedWindow 39
2.2.3 圖像顯示函數imshow 40
2.3 視頻加載與攝像頭調用 40
2.3.1 視頻數據的讀取 40
2.3.2 攝像頭的直接調用 42
2.4 數據保存 43
2.4.1 圖像的保存 43
2.4.2 視頻的保存 45
2.4.3 保存和讀取XML和YMAL
文件 47
2.5 本章小結 52
進 階 篇
第3章 圖像基本操作 54
3.1 圖像顔色空間 54
3.1.1 顔色模型與轉換 54
3.1.2 多通道分離與閤並 59
3.2 圖像像素操作處理 61
3.2.1 圖像像素統計 62
3.2.2 兩圖像間的像素操作 66
3.2.3 圖像二值化 71
3.2.4 LUT 76
3.3 圖像變換 78
3.3.1 圖像連接 78
3.3.2 圖像尺寸變換 81
3.3.3 圖像翻轉變換 83
3.3.4 圖像仿射變換 84
3.3.5 圖像透視變換 88
3.3.6 極坐標變換 90
3.4 在圖像上繪製幾何圖形 92
3.4.1 繪製圓形 92
3.4.2 繪製直綫 93
3.4.3 繪製橢圓 93
3.4.4 繪製多邊形 94
3.4.5 文字生成 95
3.5 感興趣區域 97
3.6 圖像“金字塔” 100
3.6.1 高斯“金字塔” 100
3.6.2 拉普拉斯“金字塔” 101
3.7 窗口交互操作 104
3.7.1 圖像窗口滑動條 104
3.7.2 鼠標響應 106
3.8 本章小結 109
第4章 圖像直方圖與模闆匹配 111
4.1 圖像直方圖的繪製 111
4.2 直方圖操作 113
4.2.1 直方圖歸一化 113
4.2.2 直方圖比較 116
4.3 直方圖應用 120
4.3.1 直方圖均衡化 120
4.3.2 直方圖匹配 122
4.3.3 直方圖反嚮投影 125
4.4 圖像的模闆匹配 127
4.5 本章小結 131
第5章 圖像濾波 132
5.1 圖像捲積 132
5.2 噪聲的種類與生成 136
5.2.1 椒鹽噪聲 136
5.2.2 高斯噪聲 139
5.3 綫性濾波 142
5.3.1 均值濾波 142
5.3.2 方框濾波 145
5.3.3 高斯濾波 147
5.3.4 可分離濾波 151
5.4 非綫性濾波 154
5.4.1 中值濾波 154
5.4.2 雙邊濾波 156
5.5 圖像的邊緣檢測 159
5.5.1 邊緣檢測原理 159
5.5.2 Sobel算子 162
5.5.3 Scharr算子 165
5.5.4 生成邊緣檢測濾波器 167
5.5.5 Laplacian算子 168
5.5.6 Canny算法 170
5.6 本章小結 173
第6章 圖像形態學操作 175
6.1 像素距離與連通域 175
6.1.1 圖像像素距離變換 175
6.1.2 圖像連通域分析 180
6.2 腐蝕和膨脹 187
6.2.1 圖像腐蝕 188
6.2.2 圖像膨脹 192
6.3 形態學應用 195
6.3.1 開運算 195
6.3.2 閉運算 197
6.3.3 形態學梯度 197
6.3.4 頂帽運算 198
6.3.5 黑帽運算 198
6.3.6 擊中擊不中變換 199
6.3.7 圖像細化 202
6.4 本章小結 205
應 用 篇
第7章 目標檢測 208
7.1 形狀檢測 208
7.1.1 直綫檢測 208
7.1.2 直綫擬閤 218
7.1.3 圓形檢測 220
7.2 輪廓檢測 223
7.2.1 輪廓發現與繪製 223
7.2.2 輪廓麵積 228
7.2.3 輪廓長度(周長) 229
7.2.4 輪廓外接多邊形 231
7.2.5 點到輪廓距離 236
7.2.6 凸包檢測 237
7.3 矩的計算 239
7.3.1 幾何矩與中心矩 239
7.3.2 Hu矩 241
7.3.3 基於Hu矩的輪廓匹配 243
7.4 點集擬閤 245
7.5 QR二維碼檢測 248
7.6 本章小結 251
第8章 圖像分析與修復 253
8.1 傅裏葉變換 253
8.1.1 離散傅裏葉變換 253
8.1.2 傅裏葉變換進行捲積 260
8.1.3 離散餘弦變換 262
8.2 積分圖像 266
8.3 圖像分割 270
8.3.1 漫水填充法 270
8.3.2 分水嶺法 274
8.3.3 Grabcut法 277
8.3.4 Mean-Shift法 279
8.4 圖像修復 282
8.5 本章小結 285
第9章 特徵點檢測與匹配 287
9.1 角點檢測 287
9.1.1 顯示關鍵點 287
9.1.2 Harris角點檢測 290
9.1.3 Shi-Tomas角點檢測 293
9.1.4 亞像素級彆角點檢測 296
9.2 特徵點檢測 298
9.2.1 關鍵點 298
9.2.2 描述子 299
9.2.3 SIFT特徵點檢測 300
9.2.4 SURF特徵點檢測 303
9.2.5 ORB特徵點檢測 306
9.3 特徵點匹配 310
9.3.1 DescriptorMatcher類介紹 310
9.3.2 暴力匹配 312
9.3.3 顯示特徵點匹配結果 313
9.3.4 FLANN匹配 315
9.3.5 RANSAC優化特徵點匹配 318
9.4 本章小結 322
第 10章 立體視覺 323
10.1 單目視覺 323
10.1.1 單目相機模型 323
10.1.2 標定闆角點提取 327
10.1.3 單目相機標定 331
10.1.4 單目相機校正 335
10.1.5 單目投影 339
10.1.6 單目位姿估計 341
10.2 雙目視覺 346
10.2.1 雙目相機模型 346
10.2.2 雙目相機標定 347
10.2.3 雙目相機校正 350
10.3 本章小結 353
第 11章 視頻分析 354
11.1 差值法檢測移動物體 354
11.2 均值遷移法目標跟蹤 357
11.2.1 均值遷移法實現的目標
跟蹤 357
11.2.2 自適應均值遷移法實現的目標
跟蹤 361
11.3 光流法目標跟蹤 365
11.3.1 Farneback多項式擴展算法 366
11.3.2 基於LK稀疏光流法的跟蹤 370
11.4 本章小結 375
提 高 篇
第 12章 OpenCV與機器學習 378
12.1 OpenCV與傳統機器學習 378
12.1.1 K均值 378
12.1.2 K近鄰 383
12.1.3 決策樹 389
12.1.4 隨機森林 392
12.1.5 支持嚮量機 394
12.2 OpenCV與深度神經網絡應用
實例 397
12.2.1 加載深度學習模型 397
12.2.2 圖像識彆 400
12.2.3 風格遷移 403
12.2.4 性彆檢測 405
12.3 本章小結 407
· · · · · · (
收起)