名稱:《Python計算機視覺編程》,作者:[瑞典] Jan Erik Solem ,
譯者:朱文濤 / 袁勇,出版社:人民郵電出版社
基本介紹
- 書名:Python計算機視覺編程
- 作者:[瑞典] Jan Erik Solem
- 原版名稱:Programming Computer Vision with Python
- 譯者:朱文濤 袁勇
- ISBN: 9787115352323
- 頁數:284
- 定價:69.00
- 出版社:人民郵電出版社
- 出版時間: 2014-6-10
- 裝幀:平裝
內容簡介,目錄,
內容簡介
《python計算機視覺編程》是計算機視覺編程的權威實踐指南,依賴python語言講解了基礎理論與算法,並通過大量示例細緻分析了對象識別、基於內容的圖像搜尋、光學字元識別、光流法、跟蹤、三維重建、立體成像、增強現實、姿態估計、全景創建、圖像分割、降噪、圖像分組等技術。另外,書中附帶的練習還能讓讀者鞏固並學會套用編程知識。
《python計算機視覺編程》適合的讀者是:有一定編程與數學基礎,想要了解計算機視覺的基本理論與算法的學生,以及計算機科學、信號處理、物理學、套用數學和統計學、神經生理學、認知科學等領域的研究人員和從業者。
目錄
《python計算機視覺編程》
推薦序 xi
前言 xiii
第1章 基本的圖像操作和處理 1
1.1 pil:python圖像處理類庫 1
1.1.1 轉換圖像格式 2
1.1.2 創建縮略圖 3
1.1.3 複製和貼上圖像區域 3
1.1.4 調整尺寸和旋轉 3
1.2 matplotlib 4
1.2.1 繪製圖像、點和線 4
1.2.2 圖像輪廓和直方圖 6
1.2.3 互動式標註 7
1.3 numpy 8
1.3.1 圖像數組表示 8
1.3.2 灰度變換 9
1.3.3 圖像縮放 11
1.3.4 直方圖均衡化 11
1.3.5 圖像平均 13
1.3.6 圖像的主成分分析(pca) 14
1.3.7 使用pickle模組 16
1.4 scipy 17
1.4.1 圖像模糊 18
1.4.2 圖像導數 19
1.4.3 形態學:對象計數 22
1.4.4 一些有用的scipy模組 23
1.5 高級示例:圖像去噪 24
練習 28
代碼示例約定 29
第2章 局部圖像描述子 31
2.1 harris角點檢測器 31
2.2 sift(尺度不變特徵變換) 39
2.2.1 興趣點 39
2.2.2 描述子 39
2.2.3 檢測興趣點 40
2.2.4 匹配描述子 43
2.3 匹配地理標記圖像 47
2.3.1 從panoramio下載地理標記圖像 47
2.3.2 使用局部描述子匹配 50
2.3.3 可視化連線的圖像 52
練習 54
第3章 圖像到圖像的映射 57
3.1 單應性變換 57
3.1.1 直接線性變換算法 59
3.1.2 仿射變換 60
3.2 圖像扭曲 61
3.2.1 圖像中的圖像 63
3.2.2 分段仿射扭曲 67
3.2.3 圖像配準 70
3.3 創建全景圖 76
3.3.1 ransac 77
3.3.2 穩健的單應性矩陣估計 78
3.3.3 拼接圖像 81
練習 84
第4章 照相機模型與增強現實 85
4.1 針孔照相機模型 85
4.1.1 照相機矩陣 86
4.1.2 三維點的投影 87
4.1.3 照相機矩陣的分解 89
4.1.4 計算照相機中心 90
4.2 照相機標定 91
4.3 以平面和標記物進行姿態估計 93
4.4 增強現實 97
4.4.1 pygame和pyopengl 97
4.4.2 從照相機矩陣到opengl格式 98
4.4.3 在圖像中放置虛擬物體 100
4.4.4 綜合集成 102
4.4.5 載入模型 104
練習 106
第5章 多視圖幾何 107
5.1 外極幾何 107
5.1.1 一個簡單的數據集 109
5.1.2 用matplotlib繪製三維數據 111
5.1.3 計算f:八點法 112
5.1.4 外極點和外極線 113
5.2 照相機和三維結構的計算 116
5.2.1 三角剖分 116
5.2.2 由三維點計算照相機矩陣 118
5.2.3 由基礎矩陣計算照相機矩陣 120
5.3 多視圖重建 122
5.3.1 穩健估計基礎矩陣 123
5.3.2 三維重建示例 125
5.3.3 多視圖的擴展示例 129
5.4 立體圖像 130
練習 135
第6章 圖像聚類 137
6.1 k-means聚類 137
6.1.1 scipy聚類包 138
6.1.2 圖像聚類 139
6.1.3 在主成分上可視化圖像 140
6.1.4 像素聚類 142
6.2 層次聚類 144
6.3 譜聚類 152
練習 157
第7章 圖像搜尋 159
7.1 基於內容的圖像檢索 159
7.2 視覺單詞 160
7.3 圖像索引 164
7.3.1 建立資料庫 164
7.3.2 添加圖像 165
7.4 在資料庫中搜尋圖像 167
7.4.1 利用索引獲取候選圖像 168
7.4.2 用一幅圖像進行查詢 169
7.4.3 確定對比基準並繪製結果 171
7.5 使用幾何特性對結果排序 172
7.6 建立演示程式及web套用 176
7.6.1 用cherrypy創建web套用 176
7.6.2 圖像搜尋演示程式 176
練習 179
第8章 圖像內容分類 181
8.1 k鄰近分類法(knn) 181
8.1.1 一個簡單的二維示例 182
8.1.2 用稠密sift作為圖像特徵 185
8.1.3 圖像分類:手勢識別 187
8.2 貝葉斯分類器 190
8.3 支持向量機 195
8.3.1 使用libsvm 196
8.3.2 再論手勢識別 198
8.4 光學字元識別 199
8.4.1 訓練分類器 200
8.4.2 選取特徵 200
8.4.3 多類支持向量機 201
8.4.4 提取單元格並識別字元 202
8.4.5 圖像校正 205
練習 206
第9章 圖像分割 209
9.1 圖割(graph cut) 209
9.1.1 從圖像創建圖 211
9.1.2 用戶互動式分割 216
9.2 利用聚類進行分割 218
9.3 變分法 224
練習 226
第10章 opencv 227
10.1 opencv的python接口 227
10.2 opencv基礎知識 228
10.2.1 讀取和寫入圖像 228
10.2.2 顏色空間 228
10.2.3 顯示圖像及結果 229
10.3 處理視頻 232
10.3.1 視頻輸入 232
10.3.2 將視頻讀取到numpy數組中 234
10.4 跟蹤 234
10.4.1 光流 235
10.4.2 lucas-kanade算法 237
10.5 更多示例 243
10.5.1 圖像修復 243
10.5.2 利用分水嶺變換進行分割 244
10.5.3 利用霍夫變換檢測直線 245
練習 246
附錄a 安裝軟體包 247
a.1 numpy和scipy 247
a.1.1 windows 247
a.1.2 mac os x 247
a.1.3 linux 248
a.2 matplotlib 248
a.3 pil 248
a.4 libsvm 249
a.5 opencv 249
a.5.1 windows 和 unix 249
a.5.2 mac os x 249
a.5.3 linux 250
a.6 vlfeat 250
a.7 pygame 250
a.8 pyopengl 250
a.9 pydot 251
a.10 python-graph 251
a.11 simplejson 252
a.12 pysqlite 252
a.13 cherrypy 252
附錄b 圖像集 253
b.1 flickr 253
b.2 panoramio 254
b.3 牛津大學視覺幾何組 255
b.4 肯塔基大學識別基準圖像 255
b.5 其他 256
b.5.1 prague texture segmentation datagenerator與基準 256
b.5.2 微軟研究院grab cut數據集 256
b.5.3 caltech 101 256
b.5.4 靜態手勢資料庫 256
b.5.5 middlebury stereo數據集 256
附錄c 圖片來源 257
c.1 來自flickr的圖像 257
c.2 其他圖像 258
c.3 插圖 258
參考文獻 259
索引 263
推薦序 xi
前言 xiii
第1章 基本的圖像操作和處理 1
1.1 pil:python圖像處理類庫 1
1.1.1 轉換圖像格式 2
1.1.2 創建縮略圖 3
1.1.3 複製和貼上圖像區域 3
1.1.4 調整尺寸和旋轉 3
1.2 matplotlib 4
1.2.1 繪製圖像、點和線 4
1.2.2 圖像輪廓和直方圖 6
1.2.3 互動式標註 7
1.3 numpy 8
1.3.1 圖像數組表示 8
1.3.2 灰度變換 9
1.3.3 圖像縮放 11
1.3.4 直方圖均衡化 11
1.3.5 圖像平均 13
1.3.6 圖像的主成分分析(pca) 14
1.3.7 使用pickle模組 16
1.4 scipy 17
1.4.1 圖像模糊 18
1.4.2 圖像導數 19
1.4.3 形態學:對象計數 22
1.4.4 一些有用的scipy模組 23
1.5 高級示例:圖像去噪 24
練習 28
代碼示例約定 29
第2章 局部圖像描述子 31
2.1 harris角點檢測器 31
2.2 sift(尺度不變特徵變換) 39
2.2.1 興趣點 39
2.2.2 描述子 39
2.2.3 檢測興趣點 40
2.2.4 匹配描述子 43
2.3 匹配地理標記圖像 47
2.3.1 從panoramio下載地理標記圖像 47
2.3.2 使用局部描述子匹配 50
2.3.3 可視化連線的圖像 52
練習 54
第3章 圖像到圖像的映射 57
3.1 單應性變換 57
3.1.1 直接線性變換算法 59
3.1.2 仿射變換 60
3.2 圖像扭曲 61
3.2.1 圖像中的圖像 63
3.2.2 分段仿射扭曲 67
3.2.3 圖像配準 70
3.3 創建全景圖 76
3.3.1 ransac 77
3.3.2 穩健的單應性矩陣估計 78
3.3.3 拼接圖像 81
練習 84
第4章 照相機模型與增強現實 85
4.1 針孔照相機模型 85
4.1.1 照相機矩陣 86
4.1.2 三維點的投影 87
4.1.3 照相機矩陣的分解 89
4.1.4 計算照相機中心 90
4.2 照相機標定 91
4.3 以平面和標記物進行姿態估計 93
4.4 增強現實 97
4.4.1 pygame和pyopengl 97
4.4.2 從照相機矩陣到opengl格式 98
4.4.3 在圖像中放置虛擬物體 100
4.4.4 綜合集成 102
4.4.5 載入模型 104
練習 106
第5章 多視圖幾何 107
5.1 外極幾何 107
5.1.1 一個簡單的數據集 109
5.1.2 用matplotlib繪製三維數據 111
5.1.3 計算f:八點法 112
5.1.4 外極點和外極線 113
5.2 照相機和三維結構的計算 116
5.2.1 三角剖分 116
5.2.2 由三維點計算照相機矩陣 118
5.2.3 由基礎矩陣計算照相機矩陣 120
5.3 多視圖重建 122
5.3.1 穩健估計基礎矩陣 123
5.3.2 三維重建示例 125
5.3.3 多視圖的擴展示例 129
5.4 立體圖像 130
練習 135
第6章 圖像聚類 137
6.1 k-means聚類 137
6.1.1 scipy聚類包 138
6.1.2 圖像聚類 139
6.1.3 在主成分上可視化圖像 140
6.1.4 像素聚類 142
6.2 層次聚類 144
6.3 譜聚類 152
練習 157
第7章 圖像搜尋 159
7.1 基於內容的圖像檢索 159
7.2 視覺單詞 160
7.3 圖像索引 164
7.3.1 建立資料庫 164
7.3.2 添加圖像 165
7.4 在資料庫中搜尋圖像 167
7.4.1 利用索引獲取候選圖像 168
7.4.2 用一幅圖像進行查詢 169
7.4.3 確定對比基準並繪製結果 171
7.5 使用幾何特性對結果排序 172
7.6 建立演示程式及web套用 176
7.6.1 用cherrypy創建web套用 176
7.6.2 圖像搜尋演示程式 176
練習 179
第8章 圖像內容分類 181
8.1 k鄰近分類法(knn) 181
8.1.1 一個簡單的二維示例 182
8.1.2 用稠密sift作為圖像特徵 185
8.1.3 圖像分類:手勢識別 187
8.2 貝葉斯分類器 190
8.3 支持向量機 195
8.3.1 使用libsvm 196
8.3.2 再論手勢識別 198
8.4 光學字元識別 199
8.4.1 訓練分類器 200
8.4.2 選取特徵 200
8.4.3 多類支持向量機 201
8.4.4 提取單元格並識別字元 202
8.4.5 圖像校正 205
練習 206
第9章 圖像分割 209
9.1 圖割(graph cut) 209
9.1.1 從圖像創建圖 211
9.1.2 用戶互動式分割 216
9.2 利用聚類進行分割 218
9.3 變分法 224
練習 226
第10章 opencv 227
10.1 opencv的python接口 227
10.2 opencv基礎知識 228
10.2.1 讀取和寫入圖像 228
10.2.2 顏色空間 228
10.2.3 顯示圖像及結果 229
10.3 處理視頻 232
10.3.1 視頻輸入 232
10.3.2 將視頻讀取到numpy數組中 234
10.4 跟蹤 234
10.4.1 光流 235
10.4.2 lucas-kanade算法 237
10.5 更多示例 243
10.5.1 圖像修復 243
10.5.2 利用分水嶺變換進行分割 244
10.5.3 利用霍夫變換檢測直線 245
練習 246
附錄a 安裝軟體包 247
a.1 numpy和scipy 247
a.1.1 windows 247
a.1.2 mac os x 247
a.1.3 linux 248
a.2 matplotlib 248
a.3 pil 248
a.4 libsvm 249
a.5 opencv 249
a.5.1 windows 和 unix 249
a.5.2 mac os x 249
a.5.3 linux 250
a.6 vlfeat 250
a.7 pygame 250
a.8 pyopengl 250
a.9 pydot 251
a.10 python-graph 251
a.11 simplejson 252
a.12 pysqlite 252
a.13 cherrypy 252
附錄b 圖像集 253
b.1 flickr 253
b.2 panoramio 254
b.3 牛津大學視覺幾何組 255
b.4 肯塔基大學識別基準圖像 255
b.5 其他 256
b.5.1 prague texture segmentation datagenerator與基準 256
b.5.2 微軟研究院grab cut數據集 256
b.5.3 caltech 101 256
b.5.4 靜態手勢資料庫 256
b.5.5 middlebury stereo數據集 256
附錄c 圖片來源 257
c.1 來自flickr的圖像 257
c.2 其他圖像 258
c.3 插圖 258
參考文獻 259
索引 263