Python OpenCV 從入門到精通

Python OpenCV 從入門到精通

作者: 明日科技
出版社: 清華大學
出版在: 2021-09-01
ISBN-13: 9787302583615
ISBN-10: 7302583617
裝訂格式: 平裝
總頁數: 276 頁





內容描述


《Python OpenCV從入門到精通》以在Python開發環境下運用OpenCV處理圖像為主線,全面介紹OpenCV提供的處理圖像的方法。全書共分為16章,包括Python與OpenCV、搭建開發環境、圖像處理的基本操作、像素的操作、色彩空間與通道、繪制圖形和文字、圖像的幾何變換、圖像的閾值處理、圖像的運算、模板匹配、濾波器、腐蝕與膨脹、圖形檢測、視頻處理、人臉檢測和人臉識別以及MR智能視頻打卡系統。本書圖文豐富,直觀呈現處理後的圖像與原圖之間的差異;在講解OpenCV提供的方法時,列舉了其中的必選參數和可選參數,讀者能更快地掌握方法的語法格式;最後一章以MR智能視頻打卡系統為例,指導讀者系統地運用OpenCV解決工作中的實際問題。本書專註於圖像處理本身,盡可能忽略圖像處理算法的具體實現細節,降低閱讀和學習的難度,有助於讀者更好更快地達到入門的目的。此外,本書資源包中提供了完整的示例源碼、要使用到的圖像等配套學習資源。


目錄大綱


第1篇 入門篇
第1章 Python與OpenCV 2
1.1 Python概述 2
1.1.1 什麼是Python 2
1.1.2 Python的版本 3
1.1.3 Python的應用 3
1.2 OpenCV概述 5
1.2.1 計算機視覺 5
1.2.2 OpenCV包含的模塊 6
1.2.3 OpenCV的發展歷程 7
1.2.4 OpenCV的應用 7
1.2.5 Python OpenCV的開發工具 8
1.3 小結 8
第2章 搭建開發環境 9
2.1 Python的下載和安裝 9
2.1.1 下載Python 10
2.1.2 安裝Python 11
2.1.3 測試Python是否安裝成功 12
2.2 Python OpenCV的下載和安裝 13
2.2.1 下載和安裝OpenCV-Contrib-Python庫 13
2.2.2 測試OpenCV-Contrib-Python庫和Numpy庫是否安裝成功 14
2.3 PyCharm的下載和安裝 14
2.3.1 下載PyCharm 14
2.3.2 安裝PyCharm 15
2.3.3 啟動並配置PyCharm 16
2.4 小結 21
第3章 圖像處理的基本操作 22
3.1 讀取圖像 22
3.2 顯示圖像 24
3.3 保存圖像 26
3.4 獲取圖像屬性 27
3.5 小結 28
第4章 像素的操作 29
4.1 像素 29
4.1.1 確定像素的位置 30
4.1.2 獲取像素的BGR值 31
4.1.3 修改像素的BGR值 33
4.2 使用NumPy模塊操作像素 34
4.2.1 NumPy概述 34
4.2.2 數組的類型 35
4.2.3 創建數組 36
4.2.4 操作數組 39
4.2.5 數組的索引和切片 42
4.2.6 創建圖像 46
4.2.7 拼接圖像 51
4.3 小結 53
第5章 色彩空間與通道 54
5.1 色彩空間 54
5.1.1 GRAY色彩空間 54
5.1.2 HSV色彩空間 56
5.2 通道 57
5.2.1 拆分通道 58
5.2.2 合併通道 59
5.2.3 綜合運用拆分通道和合併通道 62
5.2.4 alpha通道 63
5.3 小結 65
第2篇 基礎篇
第6章 繪製圖形和文字 68
6.1 線段的繪製 68
6.2 矩形的繪製 70
6.3 圓形的繪製 72
6.4 多邊形的繪製 75
6.5 文字的繪製 77
6.5.1 文字的斜體效果 79
6.5.2 文字的垂直鏡像效果 80
6.5.3 在圖像上繪製文字 81
6.6 動態繪製圖形 82
6.7 小結 84
第7章 圖像的幾何變換 85
7.1 縮放 85
7.1.1 dsize參數實現縮放 86
7.1.2 fx和fy參數實現縮放 87
7.2 翻轉 87
7.3 仿射變換 89
7.3.1 平移 90
7.3.2 旋轉 92
7.3.3 傾斜 93
7.4 透視 95
7.5 小結 97
第8章 圖像的閾值處理 98
8.1 閾值處理函數 99
8.2 “非黑即白”的圖像 99
8.2.1 二值化處理 100
8.2.2 反二值化處理 103
8.3 零處理 104
8.3.1 低於閾值零處理 104
8.3.2 超出閾值零處理 105
8.4 截斷處理 106
8.5 自適應處理 108
8.6 Otsu方法 111
8.7 閾值處理的作用 112
8.8 小結 114
第9章 圖像的運算 115
9.1 掩模 115
9.2 圖像的加法運算 117
9.3 圖像的位運算 120
9.3.1 按位與運算 121
9.3.2 按位或運算 122
9.3.3 按位取反運算 124
9.3.4 按位異或運算 125
9.4 合併圖像 128
9.4.1 加權和 128
9.4.2 覆蓋 129
9.5 小結 132
第3篇 進階篇
第10章 模板匹配 134
10.1 模板匹配方法 134
10.2 單模板匹配 136
10.2.1 單目標匹配 136
10.2.2 多目標匹配 140
10.3 多模板匹配 144
10.4 小結 148
第11章 濾波器 149
11.1 均值濾波器 149
11.2 中值濾波器 151
11.3 高斯濾波器 153
11.4 雙邊濾波器 156
11.5 小結 158
第12章 腐蝕與膨脹 159
12.1 腐蝕 159
12.2 膨脹 162
12.3 開運算 163
12.4 閉運算 165
12.5 形態學運算 166
12.5.1 梯度運算 167
12.5.2 頂帽運算 168
12.5.3 黑帽運算 169
12.6 小結 170
第13章 圖形檢測 171
13.1 圖像的輪廓 171
13.2 輪廓擬合 175
13.2.1 矩形包圍框 176
13.2.2 圓形包圍框 177
13.3 凸包 178
13.4 Canny邊緣檢測 180
13.5 霍夫變換 181
13.5.1 直線檢測 181
13.5.2 圓環檢測 183
13.6 小結 185
第14章 視頻處理 186
14.1 讀取並顯示攝像頭視頻 186
14.1.1 VideoCapture類 187
14.1.2 如何使用VideoCapture類 188
14.2 播放視頻文件 192
14.2.1 讀取並顯示視頻文件 192
14.2.2 視頻的暫停播放和繼續播放 194
14.2.3 獲取視頻文件的屬性 196
14.3 保存視頻文件 198
14.3.1 VideoWriter類 198
14.3.2 如何使用VideoWriter類 200
14.4 小結 205
第15章 人臉檢測和人臉識別 206
15.1 人臉檢測 206
15.1.1 級聯分類器 207
15.1.2 方法 208
15.1.3 分析人臉位置 209
15.2 檢測其他內容 211
15.2.1 眼睛檢測 211
15.2.2 貓臉檢測 212
15.2.3 行人檢測 213
15.2.4 車牌檢測 214
15.3 人臉識別 215
15.3.1 Eigenfaces人臉識別器 215
15.3.2 Fisherfaces人臉識別器 218
15.3.3 Local Binary Pattern Histogram人臉識別器 221
15.4 小結 223
第4篇 項目篇
第16章 MR智能視頻打卡系統 226
116.1 需求分析 227
16.2 系統設計 228
16.2.1 開發環境 228
16.2.2 功能結構 228
16.2.3 業務流程 229
16.2.4 項目結構 232
16.3 文件系統設計 232
16.4 數據實體模塊設計 234
16.5 工具模塊設計 235
16.5.1 公共工具模塊 235
16.5.2 IO流模塊 237
16.5.3 攝像頭工具模塊 242
16.6 服務模塊設計 245
16.6.1 人事服務模塊 245
16.6.2 人臉識別服務模塊 254
16.7 程序入口設計 255
16.7.1 用戶權限管理 255
16.7.2 主菜單設計 256
16.7.3 人臉打卡功能 258
16.7.4 為新員工登記人臉照片樣本 259
16.7.5 刪除員工全部數據 259
16.7.6 查詢員工打卡記錄 261
16.7.7 生成考勤報表 262
16.7.8 自定義上下班時間 265
16.7.9 啟動程序 267
16.8 小結 267


作者介紹


明日科技,全稱是吉林省明日科技有限公司,是一家專業從事軟件開發、教育培訓以及軟件開發教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發中的必需、常用內容,同時也很注重內容的易學、方便性以及相關知識的拓展性,深受讀者喜愛。其教材多次榮獲“全行業優秀暢銷品種”“全國高校出版社優秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。




相關書籍

基於因特網教育環境的深度學習

作者 吳穎惠 李芒 侯蘭

2021-09-01

BIG DATA ANALYTICS using MATLAB: NEURAL NETWORKS and APPLICATIONS

作者 L. Abell

2021-09-01

Introduction to Digital Signal Processing Using MATLAB, 2/e (Paperback)

作者 Robert J. Schilling Sandra L. Harris

2021-09-01