OpenCV 輕松入門:面向 Python(第2版)

李立宗

  • 出版商: 電子工業
  • 出版日期: 2023-06-01
  • 售價: $840
  • 貴賓價: 9.5$798
  • 語言: 簡體中文
  • 頁數: 584
  • ISBN: 7121455994
  • ISBN-13: 9787121455995
  • 相關分類: 影像辨識 Image-recognition
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

本書基於面向 Python 的 OpenCV(OpenCV for Python),介紹了圖像處理的方方面面。本書以 OpenCV 官方文檔的知識脈絡為主線,並對細節進行補充和說明。 書中不僅介紹了 OpenCV 函數的使用方法,還介紹了函數實現的算法原理。在介紹 OpenCV 函數的 使用方法時,提供了大量的程序示例。而且在介紹函數對圖像的處理前,往往先展示函數對數值、數組 的處理,方便讀者從數值的角度觀察和理解函數的處理過程和結果。在介紹具體的算法原理時,本書盡 量使用通俗易懂的語言和貼近生活的示例來說明問題,避免使用過多復雜抽象的公式。

目錄大綱

第1章 OpenCV入門 1
1.1 如何使用 1
1.2 圖像處理基本操作 3
1.2.1 讀取圖像 4
1.2.2 顯示圖像 5
1.2.3 保存圖像 10
1.3 OpenCV貢獻庫 10
第2章 圖像處理基礎 12
2.1 圖像的基本表示方法 12
2.2 像素處理 16
2.3 使用numpy.array訪問像素 24
2.4 感興趣區域(ROI) 30
2.5 通道操作 32
2.5.1 通道拆分 33
2.5.2 通道合並 35
2.6 獲取圖像屬性 36
第3章 圖像運算 38
3.1 圖像加法運算 38
3.1.1 加號運算符 38
3.1.2 cv2.add()函數 39
3.2 圖像加權和 42
3.3 按位邏輯運算 44
3.3.1 按位與運算 44
3.3.2 按位或運算 48
3.3.3 按位非運算 49
3.3.4 按位異或運算 50
3.4 掩膜 51
3.5 圖像與數值的運算 54
3.6 位平面分解 56
3.7 圖像加密和解密 62
3.8 數字水印 66
3.8.1 原理 67
3.8.2 實現方法 70
3.8.3 例題 77
3.9 臉部打碼及解碼 78
3.9.1 按位與方式 78
3.9.2 ROI方式 82
第4章 色彩空間類型轉換 85
4.1 色彩空間基礎 85
4.1.1 GRAY色彩空間 85
4.1.2 XYZ色彩空間 86
4.1.3 YCrCb色彩空間 86
4.1.4 HSV色彩空間 87
4.1.5 HLS色彩空間 88
4.1.6 CIEL*a*b*色彩空間 89
4.1.7 CIEL*u*v*色彩空間 90
4.1.8 Bayer色彩空間 90
4.2 類型轉換函數 92
4.3 類型轉換實例 98
4.3.1 通過數組觀察轉換效果 98
4.3.2 圖像處理實例 102
4.4 HSV色彩空間討論 104
4.4.1 基礎知識 104
4.4.2 獲取指定顏色 105
4.4.3 標記指定顏色 107
4.4.4 標記膚色 111
4.4.5 實現藝術效果 112
4.5 alpha通道 113

第5章 幾何變換 117
5.1 縮放 117
5.2 翻轉 121
5.3 仿射 122
5.3.1 平移 123
5.3.2 旋轉 124
5.3.3 更復雜的仿射變換 125
5.4 透視 126
5.5 重映射 128
5.5.1 映射參數的理解 129
5.5.2 復制 130
5.5.3 繞x軸翻轉 132
5.5.4 繞y軸翻轉 134
5.5.5 繞x軸、y軸翻轉 136
5.5.6 x軸、y軸互換 138
5.5.7 圖像縮放 140
第6章 閾值處理 141
6.1 threshold函數 141
6.1.1 二值化閾值處理(cv2.THRESH_BINARY) 142
6.1.2 反二值化閾值處理(cv2.THRESH_BINARY_INV) 144
6.1.3 截斷閾值化處理(cv2.THRESH_TRUNC) 146
6.1.4 超閾值零處理(cv2.THRESH_TOZERO_INV) 147
6.1.5 低閾值零處理(cv2.THRESH_TOZERO) 149
6.2 Otsu處理 150
6.3 自適應閾值處理 153
第7章 圖像平滑處理 157
7.1 均值濾波 159
7.1.1 基本原理 159
7.1.2 函數語法 166
7.1.3 程序示例 167
7.2 方框濾波 168
7.2.1 基本原理 169
7.2.2 函數語法 169
7.2.3 程序示例 171
7.3 高斯濾波 176
7.3.1 基本原理 176
7.3.2 函數語法 177
7.3.3 程序示例 179
7.4 中值濾波 180
7.4.1 基本原理 180
7.4.2 函數語法 181
7.4.3 程序示例 181
7.5 雙邊濾波 182
7.5.1 基本原理 182
7.5.2 函數語法 184
7.5.3 程序示例 185
7.6 2D捲積 186
第8章 形態學操作 189
8.1 腐蝕 189
8.2 膨脹 194
8.3 通用形態學函數 199
8.4 開運算 199
8.5 閉運算 201
8.6 形態學梯度運算 203
8.7 禮帽運算 204
8.8 黑帽運算 205
8.9 核函數 207
第9章 圖像梯度 210
9.1 捲積基礎 210
9.2 Sobel理論基礎 214
9.3 Sobel算子及函數使用 216
9.3.1 參數ddepth 217
9.3.2 方向 221
9.3.3 實例 223
9.4 Scharr算子及函數使用 226
9.5 Sobel算子和Scharr算子的比較 231
9.6 Laplacian算子及函數使用 232
9.7 算子總結 234
第10章 Canny邊緣檢測 235
10.1 Canny邊緣檢測基礎 235
10.2 Canny函數及使用 239
第11章 圖像金字塔 241
11.1 理論基礎 241
11.2 pyrDown函數及使用 243
11.3 pyrUp函數及使用 245
11.4 採樣可逆性的研究 247
11.5 拉普拉斯金字塔 250
11.5.1 定義 250
11.5.2 應用 252
第12章 圖像輪廓 257
12.1 查找並繪制輪廓 257
12.1.1 查找圖像輪廓:findContours函數 257
12.1.2 繪制圖像輪廓:drawContours函數 265
12.1.3 輪廓實例 266
12.2 矩特徵 270
12.2.1 矩的計算:moments函數 271
12.2.2 計算輪廓的面積:contourArea函數 273
12.2.3 計算輪廓的長度:arcLength函數 276
12.3 Hu矩 278
12.3.1 Hu矩函數 278
12.3.2 形狀匹配 282
12.4 輪廓擬合 284
12.4.1 矩形包圍框 285
12.4.2 最小包圍矩形框 287
12.4.3 最小包圍圓形 289
12.4.4 最優擬合橢圓 290
12.4.5 最優擬合直線 291
12.4.6 最小外包三角形 293
12.4.7 逼近多邊形 294
12.5 凸包 296
12.5.1 獲取凸包 297
12.5.2 凸缺陷 299
12.5.3 幾何學測試 302
12.6 利用形狀場景算法比較輪廓 306
12.6.1 計算形狀場景距離 306
12.6.2 計算Hausdorff距離 309
12.7 輪廓的特徵值 312
12.7.1 寬高比 312
12.7.2 Extent 313
12.7.3 Solidity 314
12.7.4 等效直徑(Equivalent Diameter) 315
12.7.5 方向 316
12.7.6 掩膜和像素點 318
12.7.7 最大值和最小值及它們的位置 323
12.7.8 平均顏色及平均灰度 325
12.7.9 極點 326
第13章 直方圖處理 329
13.1 直方圖的含義 329
13.2 繪制直方圖 333
13.2.1 使用Numpy繪制直方圖 333
13.2.2 使用OpenCV繪制直方圖 335
13.2.3 使用掩膜繪制直方圖 341
13.3 直方圖均衡化 345
13.3.1 直方圖均衡化原理 347
13.3.2 直方圖均衡化處理 351
13.4 pyplot模塊介紹 353
13.4.1 subplot函數 353
13.4.2 imshow函數 354
第14章 傅里葉變換 358
14.1 理論基礎 358
14.2 Numpy實現傅里葉變換 362
14.2.1 實現傅里葉變換 363
14.2.2 實現逆傅里葉變換 364
14.3 OpenCV實現傅里葉變換 365
14.3.1 實現傅里葉變換 366
14.3.2 實現逆傅里葉變換 368
14.4 濾波處理 369
14.4.1 濾波原理 369
14.4.2 高通濾波實現 374
14.4.3 低通濾波實現 377
第15章 模板匹配 380
15.1 模板匹配基礎 380
15.2 多模板匹配 387
第16章 霍夫變換 393
16.1 霍夫直線變換 393
16.1.1 霍夫變換原理 393
16.1.2 HoughLines函數 399
16.1.3 HoughLinesP函數 401
16.2 霍夫圓環變換 403
第17章 圖像分割與提取 406
17.1 用分水嶺算法實現圖像分割與提取 406
17.1.1 算法原理 406
17.1.2 相關函數介紹 408
17.1.3 分水嶺算法圖像分割實例 418
17.2 交互式前景提取 421
17.2.1 矩形框提取 424
17.2.2 自定義模板提取 426
17.2.3 手繪模板提取 429
第18章 視頻處理 432
18.1 VideoCapture類 432
18.1.1 類函數介紹 432
18.1.2 捕獲攝像頭視頻 437
18.1.3 播放視頻文件 438
18.2 VideoWriter類 438
18.2.1 類函數介紹 439
18.2.2 保存視頻 440
18.3 視頻操作基礎 442
第19章 繪圖及交互 444
19.1 繪畫基礎 444
19.1.1 繪制直線 445
19.1.2 繪制矩形 446
19.1.3 繪制圓形 447
19.1.4 繪制橢圓 449
19.1.5 繪制多邊形 450
19.1.6 在圖形上繪制文字 451
19.2 鼠標交互 454
19.2.1 繪制隨機矩形 456
19.2.2 雙窗口繪制圖形 457
19.2.3 繪制多種不同圖形 458
19.3 滾動條 460
19.3.1 用滾動條實現調色板 461
19.3.2 滾動條交互 462
19.3.3 用滾動條作為開關 463
第20章 K近鄰算法 465
20.1 理論基礎 465
20.2 計算 468
20.2.1 歸一化 468
20.2.2 距離計算 469
20.3 手寫數字識別的原理 470
20.4 自定義函數手寫數字識別 475
20.5 K近鄰模塊的基本使用 482
20.6 K近鄰手寫數字識別 487
第21章 支持向量機 490
21.1 理論基礎 490
21.2 SVM流程 493
21.3 SVM員工表現預測 494
21.4 手寫數字識別 498
第22章 K均值聚類 508
22.1 理論基礎 508
22.1.1 分豆子 509
22.1.2 K均值聚類的基本步驟 512
22.2 K均值聚類模塊 512
22.3 單特徵豆子分類 513
22.4 米粒分類 517
22.5 灰度圖像二值化 521
第23章 人臉識別 526
23.1 人臉檢測 526
23.1.1 基本原理 526
23.1.2 級聯分類器的使用 529
23.1.3 函數介紹 530
23.1.4 案例介紹 531
23.2 人臉識別基礎 534
23.2.1 人臉識別基本流程 534
23.2.2 OpenCV人臉識別基礎 535
23.3 LPBH人臉識別 536
23.3.1 基本原理 537
23.3.2 函數介紹 540
23.3.3 案例介紹 541
23.4 EigenFaces人臉識別 543
23.4.1 基本原理 543
23.4.2 函數介紹 543
23.4.3 案例介紹 544
23.5 Fisherfaces人臉識別 546
23.5.1 基本原理 546
23.5.2 函數介紹 547
23.5.3 案例介紹 548
23.6 人臉數據庫 549