《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
· · · · · · (
收起)