《Python計(jì)算機(jī)視覺編程》是計(jì)算機(jī)視覺編程的權(quán)威實(shí)踐指南,依賴Python語(yǔ)言講解了基礎(chǔ)理論與算法,并通過大量示例細(xì)致分析了對(duì)象識(shí)別、基于內(nèi)容的圖像搜索、光學(xué)字符識(shí)別、光流法、跟蹤、三維重建、立體成像、增強(qiáng)現(xiàn)實(shí)、姿態(tài)估計(jì)、全景創(chuàng)建、圖像分割、降噪、圖像分組等技術(shù)。另外,書中附帶的練習(xí)還能讓讀者鞏固并學(xué)會(huì)應(yīng)用編程知識(shí)。
《Python計(jì)算機(jī)視覺編程》適合的讀者是:有一定編程與數(shù)學(xué)基礎(chǔ),想要了解計(jì)算機(jī)視覺的基本理論與算法的學(xué)生,以及計(jì)算機(jī)科學(xué)、信號(hào)處理、物理學(xué)、應(yīng)用數(shù)學(xué)和統(tǒng)計(jì)學(xué)、神經(jīng)生理學(xué)、認(rèn)知科學(xué)等領(lǐng)域的研究人員和從業(yè)者。
Amazon.com計(jì)算機(jī)視覺類圖書第一名!
專門用Python講解計(jì)算機(jī)視覺編程
Jan Erik Solem
瑞典隆德大學(xué)副教授(數(shù)學(xué)成像小組),Polar Rose公司創(chuàng)始人兼CTO,計(jì)算機(jī)視覺研究者,Python愛好者,技術(shù)圖書作家,經(jīng)常出席各種計(jì)算機(jī)視覺、圖像分析、機(jī)器智能等國(guó)際會(huì)議并發(fā)表演講。他主要關(guān)注3D重建、變分問題與優(yōu)化、圖像分割與識(shí)別、形狀分析,有多年P(guān)ython計(jì)算機(jī)視覺教學(xué)、研究和行業(yè)應(yīng)用經(jīng)驗(yàn),技術(shù)博客為http://www.janeriksolem.net。另著有Computing with Python: An Introduction to Python for Science and Engineering一書。
目 錄
推薦序 XI
前言 XIII
第1章 基本的圖像操作和處理 1
1.1 PIL:Python圖像處理類庫(kù) 1
1.1.1 轉(zhuǎn)換圖像格式 2
1.1.2 創(chuàng)建縮略圖 3
1.1.3 復(fù)制和粘貼圖像區(qū)域 3
1.1.4 調(diào)整尺寸和旋轉(zhuǎn) 3
1.2 Matplotlib 4
1.2.1 繪制圖像、點(diǎn)和線 4
1.2.2 圖像輪廓和直方圖 6
1.2.3 交互式標(biāo)注 7
1.3 NumPy 8
1.3.1 圖像數(shù)組表示 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 圖像導(dǎo)數(shù) 19
1.4.3 形態(tài)學(xué):對(duì)象計(jì)數(shù) 22
1.4.4 一些有用的SciPy模塊 23
1.5 高級(jí)示例:圖像去噪 24
練習(xí) 28
代碼示例約定 29
第2章 局部圖像描述子 31
2.1 Harris角點(diǎn)檢測(cè)器 31
2.2 SIFT(尺度不變特征變換) 39
2.2.1 興趣點(diǎn) 39
2.2.2 描述子 39
2.2.3 檢測(cè)興趣點(diǎn) 40
2.2.4 匹配描述子 43
2.3 匹配地理標(biāo)記圖像 47
2.3.1 從Panoramio下載地理標(biāo)記圖像 47
2.3.2 使用局部描述子匹配 50
2.3.3 可視化連接的圖像 52
練習(xí) 54
第3章 圖像到圖像的映射 57
3.1 單應(yīng)性變換 57
3.1.1 直接線性變換算法 59
3.1.2 仿射變換 60
3.2 圖像扭曲 61
3.2.1 圖像中的圖像 63
3.2.2 分段仿射扭曲 67
3.2.3 圖像配準(zhǔn) 70
3.3 創(chuàng)建全景圖 76
3.3.1 RANSAC 77
3.3.2 穩(wěn)健的單應(yīng)性矩陣估計(jì) 78
3.3.3 拼接圖像 81
練習(xí) 84
第4章 照相機(jī)模型與增強(qiáng)現(xiàn)實(shí) 85
4.1 針孔照相機(jī)模型 85
4.1.1 照相機(jī)矩陣 86
4.1.2 三維點(diǎn)的投影 87
4.1.3 照相機(jī)矩陣的分解 89
4.1.4 計(jì)算照相機(jī)中心 90
4.2 照相機(jī)標(biāo)定 91
4.3 以平面和標(biāo)記物進(jìn)行姿態(tài)估計(jì) 93
4.4 增強(qiáng)現(xiàn)實(shí) 97
4.4.1 PyGame和PyOpenGL 97
4.4.2 從照相機(jī)矩陣到OpenGL格式 98
4.4.3 在圖像中放置虛擬物體 100
4.4.4 綜合集成 102
4.4.5 載入模型 104
練習(xí) 106
第5章 多視圖幾何 107
5.1 外極幾何 107
5.1.1 一個(gè)簡(jiǎn)單的數(shù)據(jù)集 109
5.1.2 用Matplotlib繪制三維數(shù)據(jù) 111
5.1.3 計(jì)算F:八點(diǎn)法 112
5.1.4 外極點(diǎn)和外極線 113
5.2 照相機(jī)和三維結(jié)構(gòu)的計(jì)算 116
5.2.1 三角剖分 116
5.2.2 由三維點(diǎn)計(jì)算照相機(jī)矩陣 118
5.2.3 由基礎(chǔ)矩陣計(jì)算照相機(jī)矩陣 120
5.3 多視圖重建 122
5.3.1 穩(wěn)健估計(jì)基礎(chǔ)矩陣 123
5.3.2 三維重建示例 125
5.3.3 多視圖的擴(kuò)展示例 129
5.4 立體圖像 130
練習(xí) 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
練習(xí) 157
第7章 圖像搜索 159
7.1 基于內(nèi)容的圖像檢索 159
7.2 視覺單詞 160
7.3 圖像索引 164
7.3.1 建立數(shù)據(jù)庫(kù) 164
7.3.2 添加圖像 165
7.4 在數(shù)據(jù)庫(kù)中搜索圖像 167
7.4.1 利用索引獲取候選圖像 168
7.4.2 用一幅圖像進(jìn)行查詢 169
7.4.3 確定對(duì)比基準(zhǔn)并繪制結(jié)果 171
7.5 使用幾何特性對(duì)結(jié)果排序 172
7.6 建立演示程序及Web應(yīng)用 176
7.6.1 用CherryPy創(chuàng)建Web應(yīng)用 176
7.6.2 圖像搜索演示程序 176
練習(xí) 179
第8章 圖像內(nèi)容分類 181
8.1 K鄰近分類法(KNN) 181
8.1.1 一個(gè)簡(jiǎn)單的二維示例 182
8.1.2 用稠密SIFT作為圖像特征 185
8.1.3 圖像分類:手勢(shì)識(shí)別 187
8.2 貝葉斯分類器 190
8.3 支持向量機(jī) 195
8.3.1 使用LibSVM 196
8.3.2 再論手勢(shì)識(shí)別 198
8.4 光學(xué)字符識(shí)別 199
8.4.1 訓(xùn)練分類器 200
8.4.2 選取特征 200
8.4.3 多類支持向量機(jī) 201
8.4.4 提取單元格并識(shí)別字符 202
8.4.5 圖像校正 205
練習(xí) 206
第9章 圖像分割 209
9.1 圖割(Graph Cut) 209
9.1.1 從圖像創(chuàng)建圖 211
9.1.2 用戶交互式分割 216
9.2 利用聚類進(jìn)行分割 218
9.3 變分法 224
練習(xí) 226
第10章 OpenCV 227
10.1 OpenCV的Python接口 227
10.2 OpenCV基礎(chǔ)知識(shí) 228
10.2.1 讀取和寫入圖像 228
10.2.2 顏色空間 228
10.2.3 顯示圖像及結(jié)果 229
10.3 處理視頻 232
10.3.1 視頻輸入 232
10.3.2 將視頻讀取到NumPy數(shù)組中 234
10.4 跟蹤 234
10.4.1 光流 235
10.4.2 Lucas-Kanade算法 237
10.5 更多示例 243
10.5.1 圖像修復(fù) 243
10.5.2 利用分水嶺變換進(jìn)行分割 244
10.5.3 利用霍夫變換檢測(cè)直線 245
練習(xí) 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 牛津大學(xué)視覺幾何組 255
B.4 肯塔基大學(xué)識(shí)別基準(zhǔn)圖像 255
B.5 其他 256
B.5.1 Prague Texture Segmentation Datagenerator與基準(zhǔn) 256
B.5.2 微軟研究院Grab Cut數(shù)據(jù)集 256
B.5.3 Caltech 101 256
B.5.4 靜態(tài)手勢(shì)數(shù)據(jù)庫(kù) 256
B.5.5 Middlebury Stereo數(shù)據(jù)集 256
附錄C 圖片來源 257
C.1 來自Flickr的圖像 257
C.2 其他圖像 258
C.3 插圖 258
參考文獻(xiàn) 259
索引 263