OpenCV 電腦視覺基礎教程 (Python版)(慕課版)

夏幫貴

  • OpenCV 電腦視覺基礎教程 (Python版)(慕課版)-preview-1
  • OpenCV 電腦視覺基礎教程 (Python版)(慕課版)-preview-2
OpenCV 電腦視覺基礎教程 (Python版)(慕課版)-preview-1

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

商品描述

本書註重基礎、循序漸進,系統地介紹了使用Python實現OpenCV應用的相關基礎知識。本書共分為10章,涵蓋OpenCV起步、圖像處理基礎、圖形用戶界面、圖像變換、邊緣和輪廓、直方圖、模板匹配和圖像分割、特徵檢測、人臉檢測和識別、機器學習和深度學習等內容。

本書內容豐富、講解詳細,適用於具有一定Python程序設計基礎的OpenCV電腦視覺用戶,可用作各類院校相關專業教材,同時也可作為OpenCV愛好者的參考書。

作者簡介

夏幫貴,西華大學副教授,1998年畢業於西南大學,主要從事數據庫、軟件開發,已出版VB、C/C++、VF、Java、PHP、ASP.NET等相關教材十餘部。

目錄大綱

第 1章 OpenCV起步 1
1.1 OpenCV簡介 1
1.1.1 OpenCV主要功能及模塊介紹 1
1.1.2 OpenCV的版本 3
1.1.3 OpenCV-Python 3
1.2 配置開發環境 4
1.2.1 安裝Python 4
1.2.2 安裝NumPy 5
1.2.3 安裝OpenCV-Python 6
1.2.4 安裝Visual Studio Code 9
1.3 使用OpenCV文檔和示例 10
1.3.1 查看OpenCV文檔 10
1.3.2 查看OpenCV-Python示例 11
1.4 實驗 13
1.4.1 實驗1:配置虛擬開發環境 13
1.4.2 實驗2:在VS Code中運行示例 15
習題 16

第 2章 圖像處理基礎 17
2.1 NumPy簡介 17
2.1.1 數據類型 17
2.1.2 創建數組 18
2.1.3 數組的形狀 20
2.1.4 索引、切片和迭代 21
2.1.5 數組運算 22
2.2 圖像基礎操作 24
2.2.1 讀、寫、顯示圖像 24
2.2.2 讀、寫、播放視頻 27
2.2.3 操作灰度圖像 29
2.2.4 操作彩色圖像 30
2.2.5 圖像通道操作 31
2.3 圖像運算 33
2.3.1 加法運算 33
2.3.2 加權加法運算 34
2.3.3 位運算 35
2.4 實驗 36
2.4.1 實驗1:為人物圖像打碼 36
2.4.2 實驗2:創建圖像掩模 37
習題 39

第3章 圖形用戶界面 40
3.1 窗口控制 40
3.1.1 創建和關閉窗口 40
3.1.2 調整窗口大小 41
3.2 繪圖 41
3.2.1 繪製直線 41
3.2.2 繪製矩形 42
3.2.3 繪製圓 43
3.2.4 繪製橢圓 44
3.2.5 繪製多邊形 44
3.2.6 繪製文本 45
3.2.7 繪製箭頭 47
3.3 響應鼠標事件 47
3.4 使用跟踪欄 49
3.5 實驗 50
3.5.1 實驗1:使用鼠標指針取點繪圖 50
3.5.2 實驗2:使用跟踪欄選擇通道圖像 51
習題 52

第4章 圖像變換 54
4.1 色彩空間變換 54
4.1.1 RGB色彩空間 54
4.1.2 GRAY色彩空間 55
4.1.3 YCrCb色彩空間 56
4.1.4 HSV色彩空間 57
4.2 幾何變換 58
4.2.1 縮放 58
4.2.2 翻轉 59
4.2.3 仿射 60
4.2.4 透視 64
4.3 圖像模糊 65
4.3.1 均值濾波 65
4.3.2 高斯濾波 67
4.3.3 方框濾波 68
4.3.4 中值濾波 69
4.3.5 雙邊濾波 70
4.3.6 2D卷積 71
4.4 閾值處理 72
4.4.1 全局閾值處理 72
4.4.2 自適應閾值處理 78
4.5 形態變換 79
4.5.1 形態操作內核 79
4.5.2 腐蝕 80
4.5.3 膨脹 82
4.5.4 高級形態操作 83
4.6 實驗 86
4.6.1 實驗1:圖像幾何變換 86
4.6.2 實驗2:圖像形態變換 87
習題 88

第5章 邊緣和輪廓 89
5.1 邊緣檢測 89
5.1.1 Laplacian邊緣檢測 89
5.1.2 Sobel邊緣檢測 90
5.1.3 Canny邊緣檢測 91
5.2 圖像輪廓 92
5.2.1 查找輪廓 92
5.2.2 繪製輪廓 94
5.2.3 輪廓特徵 95
5.3 霍夫變換 106
5.3.1 霍夫直線變換 106
5.3.2 霍夫圓變換 108
5.4 實驗 110
5.4.1 實驗1:執行Canny邊緣檢測 110
5.4.2 實驗2:查找和繪製輪廓 111
習題 112

第6章 直方圖 113
6.1 直方圖基礎 113
6.1.1 用hist()函數繪製直方圖 113
6.1.2 用calcHist()函數查找直方圖 114
6.1.3 應用掩模的直方圖 115
6.1.4 NumPy中的直方圖 116
6.2 直方圖均衡化 117
6.2.1 普通直方圖均衡化 117
6.2.2 限制對比度自適應直方圖均衡化 118
6.3 二維直方圖 120
6.3.1 OpenCV中的二維直方圖 120
6.3.2 NumPy中的二維直方圖 121
6.4 實驗 122
6.4.1 實驗1:使用NumPy函數計算直方圖 122
6.4.2 實驗2:使用OpenCV函數計算直方圖 123
習題 124

第7章 模板匹配和圖像分割 125
7.1 模板匹配 125
7.1.1 單目標匹配 125
7.1.2 多目標匹配 127
7.2 圖像分割 128
7.2.1 使用分水嶺算法分割圖像 128
7.2.2 圖像金字塔 131
7.3 交互式前景提取 135
7.4 實驗 138
7.4.1 實驗1:使用模板匹配查找圖像 138
7.4.2 實驗2:使用交互式前景提取方法分割圖像 139
習題 140

第8章 特徵檢測 141
8.1 角檢測 141
8.1.1 哈里斯角檢測 141
8.1.2 優化哈里斯角 142
8.1.3 Shi-Tomasi角檢測 143
8.2 特徵點檢測 144
8.2.1 FAST特徵檢測 145
8.2.2 SIFT特徵檢測 146
8.2.3 ORB特徵檢測 147
8.3 特徵匹配 147
8.3.1 暴力匹配器 147
8.3.2 FLANN匹配器 151
8.4 對象查找 152
8.5 實驗 154
8.5.1 實驗1:應用Shi-Tomasi角檢測器 154
8.5.2 實驗2: 應用特徵匹配查找對象 155
習題 157

第9章 人臉檢測和識別 158
9.1 人臉檢測 158
9.1.1 基於Haar的人臉檢測 158
9.1.2 基於深度學習的人臉檢測 161
9.2 人臉識別 162
9.2.1 EigenFaces人臉識別 163
9.2.2 FisherFaces人臉識別 164
9.2.3 LBPH人臉識別 165
9.3 實驗 167
9.3.1 實驗1:使用Haar級聯檢測器 167
9.3.2 實驗2:使用EigenFaces人臉識別器 168
習題 169

第 10章 機器學習和深度學習 170
10.1 機器學習 170
10.1.1 kNN算法 170
10.1.2 SVM算法 173
10.1.3 k均值聚類算法 175
10.2 深度學習 177
10.2.1 基於深度學習的圖像識別 177
10.2.2 基於深度學習的對象檢測 181
10.3 實驗 185
10.3.1 實驗1:調整圖像顏色 185
10.3.2 實驗2:檢測視頻中的對象 186
習題 188