OpenCV輕鬆入門:面向Python

OpenCV輕鬆入門:面向Python

《OpenCV輕鬆入門:面向Python》,作者:李立宗,2019年5月電子工業出版社出版,本書詳細解讀OpenCV函式使用方法和算法原理。

基本介紹

  • 書名:OpenCV輕鬆入門:面向Python
  • 作者:李立宗
  • ISBN:978-7-121-36290-3
  • 頁數:480
  • 定價:99
  • 出版社:電子工業出版社
  • 出版時間:2019-05
  • 裝幀:平裝
  • 開本:16
內容提要,目錄,作者簡介,

內容提要

《OpenCV輕鬆入門:面向Python》基於面向Python 的OpenCV(OpenCV for Python),介紹了圖像處理的方方面面。本書以OpenCV官方文檔的知識脈絡為主線,並對細節進行補充和說明。
書中不僅介紹了OpenCV 函式的使用方法,還介紹了函式實現的算法原理。在介紹OpenCV 函式的使用方法時,提供了大量的程式示例。而且在介紹函式對圖像的處理前,往往先展示函式對數值、數組的處理,方便讀者從數值的角度觀察和理解函式的處理過程和結果。在介紹具體的算法原理時,本書儘量使用通俗易懂的語言和貼近生活的示例來說明問題,避免使用過多複雜抽象的公式。
《OpenCV輕鬆入門:面向Python》適合計算機視覺領域的初學者閱讀,包括在校學生、教師、專業技術人員、圖像處理愛好者。

目錄

第1章 OPENCV入門 1
1.1 如何使用 1
1.2 圖像處理基本操作 3
1.2.1 讀取圖像 3
1.2.2 顯示圖像 5
1.2.3 保存圖像 9
1.3 OpenCV貢獻庫 10
第2章 圖像處理基礎 11
2.1 圖像的基本表示方法 11
2.2 像素處理 15
2.3 使用numpy.array訪問像素 23
2.4 感興趣區域(ROI) 29
2.5 通道操作 32
2.5.1 通道拆分 32
2.5.2 通道合併 34
2.6 獲取圖像屬性 36
第3章 圖像運算 37
3.1 圖像加法運算 37
3.1.1 加號運算符 37
3.1.2 cv2.add()函式 38
3.2 圖像加權和 40
3.3 按位邏輯運算 43
3.3.1 按位與運算 43
3.3.2 按位或運算 46
3.3.3 按位非運算 47
3.3.4 按位異或運算 48
3.4 掩模 49
3.5 圖像與數值的運算 52
3.6 位平面分解 53
3.7 圖像加密和解密 59
3.8 數字水印 63
3.8.1 原理 64
3.8.2 實現方法 66
3.8.3 例題 73
3.9 臉部打碼及解碼 74
第4章 色彩空間類型轉換 77
4.1 色彩空間基礎 77
4.1.1 GRAY色彩空間 77
4.1.2 XYZ色彩空間 78
4.1.3 YCrCb色彩空間 78
4.1.4 HSV色彩空間 79
4.1.5 HLS色彩空間 80
4.1.6 CIEL*a*b*色彩空間 80
4.1.7 CIEL*u*v*色彩空間 81
4.1.8 Bayer色彩空間 82
4.2 類型轉換函式 82
4.3 類型轉換實例 88
4.3.1 通過數組觀察轉換效果 88
4.3.2 圖像處理實例 92
4.4 HSV色彩空間討論 93
4.4.1 基礎知識 93
4.4.2 獲取指定顏色 95
4.4.3 標記指定顏色 96
4.4.4 標記膚色 100
4.4.5 實現藝術效果 101
4.5 alpha通道 102
第5章 幾何變換 106
5.1 縮放 106
5.2 翻轉 110
5.3 仿射 111
5.3.1 平移 112
5.3.2 旋轉 113
5.3.3 更複雜的仿射變換 114
5.4 透視 115
5.5 重映射 117
5.5.1 映射參數的理解 117
5.5.2 複製 119
5.5.3 繞x軸翻轉 121
5.5.4 繞y軸翻轉 122
5.5.5 繞x軸、y軸翻轉 124
5.5.6 x軸、y軸互換 126
5.5.7 圖像縮放 128
第6章 閾值處理 130
6.1 threshold函式 130
6.1.1 二值化閾值處理(cv2.THRESH_BINARY) 131
6.1.2 反二值化閾值處理(cv2.THRESH_BINARY_INV) 133
6.1.3 截斷閾值化處理(cv2.THRESH_TRUNC) 135
6.1.4 超閾值零處理(cv2.THRESH_TOZERO_INV) 136
6.1.5 低閾值零處理(cv2.THRESH_TOZERO) 138
6.2 自適應閾值處理 139
6.3 Otsu處理 141
第7章 圖像平滑處理 144
7.1 均值濾波 146
7.1.1 基本原理 146
7.1.2 函式語法 150
7.1.3 程式示例 150
7.2 方框濾波 152
7.2.1 基本原理 152
7.2.2 函式語法 153
7.2.3 程式示例 154
7.3 高斯濾波 156
7.3.1 基本原理 156
7.3.2 函式語法 158
7.3.3 程式示例 159
7.4 中值濾波 159
7.4.1 基本原理 160
7.4.2 函式語法 161
7.4.3 程式示例 161
7.5 雙邊濾波 162
7.5.1 基本原理 162
7.5.2 函式語法 164
7.5.3 程式示例 164
7.6 2D卷積 166
第8章 形態學操作 168
8.1 腐蝕 168
8.2 膨脹 173
8.3 通用形態學函式 178
8.4 開運算 179
8.5 閉運算 180
8.6 形態學梯度運算 182
8.7 禮帽運算 183
8.8 黑帽運算 185
8.9 核函式 186
第9章 圖像梯度 189
9.1 Sobel理論基礎 189
9.2 Sobel運算元及函式使用 191
9.2.1 參數ddepth 192
9.2.2 方向 195
9.2.3 實例 196
9.3 Scharr運算元及函式使用 200
9.4 Sobel運算元和Scharr運算元的比較 204
9.5 Laplacian運算元及函式使用 206
9.6 運算元總結 208
第10章 CANNY邊緣檢測 209
10.1 Canny邊緣檢測基礎 209
10.2 Canny函式及使用 213
第11章 圖像金字塔 215
11.1 理論基礎 215
11.2 pyrDown函式及使用 217
11.3 pyrUp函式及使用 219
11.4 採樣可逆性的研究 220
11.5 拉普拉斯金字塔 223
11.5.1 定義 223
11.5.2 套用 225
第12章 圖像輪廓 229
12.1 查找並繪製輪廓 229
12.1.1 查找圖像輪廓:findContours函式 229
12.1.2 繪製圖像輪廓:drawContours函式 237
12.1.3 輪廓實例 238
12.2 矩特徵 240
12.2.1 矩的計算:moments函式 241
12.2.2 計算輪廓的面積:contourArea函式 243
12.2.3 計算輪廓的長度:arcLength函式 246
12.3 Hu矩 248
12.3.1 Hu矩函式 248
12.3.2 形狀匹配 252
12.4 輪廓擬合 254
12.4.1 矩形包圍框 254
12.4.2 最小包圍矩形框 257
12.4.3 最小包圍圓形 259
12.4.4 最優擬合橢圓 260
12.4.5 最優擬合直線 261
12.4.6 最小外包三角形 262
12.4.7 逼近多邊形 263
12.5 凸包 266
12.5.1 獲取凸包 267
12.5.2 凸缺陷 268
12.5.3 幾何學測試 270
12.6 利用形狀場景算法比較輪廓 275
12.6.1 計算形狀場景距離 275
12.6.2 計算Hausdorff距離 278
12.7 輪廓的特徵值 280
12.7.1 寬高比 280
12.7.2 Extent 281
12.7.3 Solidity 282
12.7.4 等效直徑(Equivalent Diameter) 283
12.7.5 方向 284
12.7.6 掩模和像素點 286
12.7.7 最大值和最小值及它們的位置 291
12.7.8 平均顏色及平均灰度 293
12.7.9 極點 294
第13章 直方圖處理 297
13.1 直方圖的含義 297
13.2 繪製直方圖 301
13.2.1 使用Numpy繪製直方圖 301
13.2.2 使用OpenCV繪製直方圖 302
13.2.3 使用掩模繪製直方圖 307
13.3 直方圖均衡化 312
13.3.1 直方圖均衡化原理 313
13.3.2 直方圖均衡化處理 317
13.4 pyplot模組介紹 319
13.4.1 subplot函式 319
13.4.2 imshow函式 320
第14章 傅立葉變換 324
14.1 理論基礎 324
14.2 Numpy實現傅立葉變換 328
14.2.1 實現傅立葉變換 329
14.2.2 實現逆傅立葉變換 330
14.2.3 高通濾波示例 331
14.3 OpenCV實現傅立葉變換 333
14.3.1 實現傅立葉變換 333
14.3.2 實現逆傅立葉變換 335
14.3.3 低通濾波示例 336
第15章 模板匹配 339
15.1 模板匹配基礎 339
15.2 多模板匹配 345
第16章 霍夫變換 351
16.1 霍夫直線變換 351
16.1.1 霍夫變換原理 351
16.1.2 HoughLines函式 357
16.1.3 HoughLinesP函式 359
16.2 霍夫圓環變換 361
第17章 圖像分割與提取 364
17.1 用分水嶺算法實現圖像分割與提取 364
17.1.1 算法原理 364
17.1.2 相關函式介紹 366
17.1.3 分水嶺算法圖像分割實例 375
17.2 互動式前景提取 376
第18章 視頻處理 383
18.1 VideoCapture類 383
18.1.1 類函式介紹 383
18.1.2 捕獲攝像頭視頻 387
18.1.3 播放視頻檔案 388
18.2 VideoWriter類 389
18.2.1 類函式介紹 389
18.2.2 保存視頻 391
18.3 視頻操作基礎 392
第19章 繪圖及互動 393
19.1 繪畫基礎 393
19.1.1 繪製直線 394
19.1.2 繪製矩形 394
19.1.3 繪製圓形 395
19.1.4 繪製橢圓 397
19.1.5 繪製多邊形 398
19.1.6 在圖形上繪製文字 400
19.2 滑鼠互動 402
19.2.1 簡單示例 404
19.2.2 進階示例 405
19.3 滾動條 407
19.3.1 用滾動條實現調色板 408
19.3.2 用滾動條控制閾值處理參數 409
19.3.3 用滾動條作為開關 410
第20章 K近鄰算法 412
20.1 理論基礎 412
20.2 計算 415
20.2.1 歸一化 415
20.2.2 距離計算 416
20.2 手寫數字識別的原理 417
20.3 自定義函式手寫數字識別 421
20.4 K近鄰模組的基本使用 427
20.5 K近鄰手寫數字識別 429
第21章 支持向量機 431
21.1 理論基礎 431
21.2 SVM案例介紹 434
第22章 K均值聚類 439
22.1 理論基礎 439
22.1.1 分豆子 439
22.1.2 K均值聚類的基本步驟 441
22.2 K均值聚類模組 441
22.3 簡單示例 442
第23章 人臉識別 448
23.1 人臉檢測 448
23.1.1 基本原理 448
23.1.2 級聯分類器的使用 451
23.1.3 函式介紹 452
23.1.4 案例介紹 453
23.2 LBPH人臉識別 454
23.2.1 基本原理 454
23.2.2 函式介紹 456
23.2.3 案例介紹 457
23.3 EigenFaces人臉識別 458
23.3.1 基本原理 458
23.3.2 函式介紹 459
23.3.3 案例介紹 460
23.4 Fisherfaces人臉識別 461
23.4.1 基本原理 461
23.4.2 函式介紹 463
23.4.3 案例介紹 464
23.5 人臉資料庫 465
參與文獻 467
附錄A 範例 470

作者簡介

李立宗
南開大學碩士,天津職業技術師範大學副教授,從事計算機視覺領域的教學和科研工作。擁有發明專利一項、軟體著作權十餘項,公開發表論文十餘篇,主編《OpenCV編程案例詳解》等多部圖書。在網易雲課堂主講的《OpenCV圖窮匕見》等多門課程被評為精品課。

相關詞條

熱門詞條

聯絡我們