《OpenCV 4快速入門》是2020年人民郵電出版社出版的圖書,作者是馮振、郭延寧、呂躍勇。
基本介紹
內容簡介,圖書目錄,作者簡介,
內容簡介
本書共12 章,介紹了OpenCV 4 中的近200 個函式,將近120 個示例程式。主要內容包括OpenCV 4 基礎知識,OpenCV 的模組架構,圖像存儲容器,圖像的讀取與顯示,視頻載入與攝像頭調用,圖像變換,圖像金字塔,圖像直方圖的繪製,圖像的模板匹配,圖像卷積,圖像的邊緣檢測,腐蝕與膨脹,形狀檢測,圖像分割,特徵點檢測與匹配,單目和雙目視覺,光流法目標跟蹤,以及OpenCV 在機器學習方面的套用等。 本書面向的讀者是計算機視覺與圖像處理等相關專業的高校師生、企業內轉行計算機視覺與圖像處理的工作人員、已有圖像處理基礎並想了解OpenCV 4 新特性的人員。
本書是一本入門級的OpenCV 4 指南,適合具有一些計算機視覺基礎、具有Python 編程基礎但剛接觸OpenCV 4 的初學者閱讀。書中內容從安裝OpenCV 4 的過程介紹開始,以計算機視覺知識脈絡為主線,由淺入深的介紹了OpenCV 4 在計算機視覺各個領域的套用以及相關函式的使用。為了能夠更好的理解OpenCV 4 中每個函式的原理和使用方式,在介紹OpenCV 4 中的函式之前首先會介紹相關的圖像處理的知識。但是,我們不想將本書寫得像一本圖像處理算法書籍,而是把更多的精力放在OpenCV 4 的介紹和學習上,因此對相關知識做了深入淺出的介紹,讓讀者快速了解算法原理。
圖書目錄
目 錄
基 礎 篇
第 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
作者簡介
馮振,哈爾濱工業大學博士,具有多年計算機視覺與圖像處理經驗,發表多篇學術論文。創建“小白學視覺”,參與翻譯多個開源項目,在計算機視覺與圖像處理領域具有一定的影響力。
呂躍勇,博士,哈爾濱工業大學講師、碩士生導師,主要從事自動控制領域教學與研究工作,主持及參與多項智慧型控制與圖像處理領域課題。