圖像處理與計算機視覺算法及套用(第2版)

圖像處理與計算機視覺算法及套用(第2版)

《圖像處理與計算機視覺算法及套用(第2版)》是2012年清華大學出版社出版的圖書,作者是J.R.Parker。

基本介紹

  • 書名:圖像處理與計算機視覺算法及套用(第2版)
  • 作者:J.R.Parker
  • 譯者:景麗
  • ISBN:9787302282228
  • 頁數:388
  • 定價:49.00
  • 出版社:清華大學出版社
  • 出版時間:2012-5-1
  • 裝幀:平裝
  • 開本:16開
編輯推薦,內容簡介,作者簡介,圖書前言,圖書目錄,

編輯推薦

感謝計算機硬體和軟體的進步,使得人們可以在不具備大量數學背景知識的情況下,就能通過算法完成複雜的圖像處理。帕克爾編著的《圖像處理與計算機視覺算法及套用(第2版)》介紹了最新的算法,包括基於內容搜尋中的2D視覺方法和使用顯示卡作為圖像處理計算工具等。對於軟體工程師和開發人員、高級程式設計師、圖形程式設計師、科學家,以及其他需要高度專業化圖像處理的專家而言,都是非常理想的參考圖書。
有了本書這本易學易用的算法參考書,您可以獲得最具價值的圖像處理套用,包括數碼形態學、圖像恢復和字元識別;找到清晰描述最新技術的真實世界的套用,同時省去大量數學運算所需的冗長時間。書中涉及的所有代碼都提供在本書網站上,因此您可以驗證自己的理解以及組織與搜尋圖像數據集的算法。

內容簡介

有了《圖像處理與計算機視覺算法及套用(第2版)》這本易學易用的算法參考書,您可以獲得最具價值的圖像處理套用,包括數碼形態學、圖像恢復和字元識別;找到清晰描述最新技術的真實世界的套用,同時省去大量數學運算所需的冗長時間。書中涉及的所有代碼都提供在本書網站上,因此您可以驗證自己的理解以及組織與搜尋圖像數據集的算法。
本書特色
◆ 通過編程,為軟體賦予最先進的圖像處理能力
◆ 介紹充分發揮分類器優勢的步驟
◆ 在基於內容的搜尋中使用二維視覺方法
◆ 執行邊緣檢測、圖像細化、閾值和數碼形態學的操作
◆ 將網路中的計算機連線起來組成一個巨大的圖像處理集群
◆ 通過對GPU編程,來完成圖像處理和視覺任務
◆ 選擇最佳的圖像搜尋方法

作者簡介

J.R.Parker是一名計算機專家和教師,對圖像處理和視覺、視頻遊戲技術以及計算機仿真有著濃厚的興趣。在根特州立大學獲得信息學博士學位之後,Parker博士在加拿大卡爾加里大學任全職教授,講授計算機科學、藝術和戲劇。他的作品包括150多篇技術論文和4本書,他還是視頻遊戲Booze Cruise的作者,這個遊戲模擬了酒後駕車的情形,用於演示酒後駕車行為的危險性。此外他還開發了很多其他教育遊戲。
景麗,副教授,解放軍信息工程大學計算機軟體理論專業博士,研究方向為智慧型圖像處理與信息隱藏。任教後,曾在愛爾蘭University College Cork(UCC)大學訪學,已發表學術論文20餘篇。目前主要從事圖像處理、人工智慧、信息處理等方面的研究,教授的課程有“數字圖像處理”、“人工智慧原理與套用”、“智慧型信息處理”等。

圖書前言

人類主要的感官輸入來源是視覺系統,人們付出了很多努力致力於通過人工的方式提升這種感官能力。眼鏡、望遠鏡、雷達紅外線感測器和光電倍增器等設備的功能都用於提升我們對世界和宇宙的觀察能力。我們甚至在軌道上也建立瞭望遠鏡(外太空的眼睛),通過很多這種望遠鏡能“看到”其他頻譜:紅外線、紫外線和X射線。這些設備給予了我們幾年前想都不敢想的視野,還能讓我們觀測到裸眼無法觀察到的色彩。計算機成為了通過這些設備創建我們能看見的偉大圖像的必備工具。
在本書第一版寫作的時候,哈勃空間望遠鏡就已經在軌,並能以很高的速率生成圖像。哈勃空間望遠鏡和歐洲的依巴谷(Hipparcos)望遠鏡是當時在大氣層以上僅有的光學設備。現在有了COROT、Kepler、MOST(加拿大的空間望遠鏡)和雨燕伽馬射線暴探測器(Swift Gamma Ray Burst Explorer)。此外,還有Spitzer(紅外線)、Chandra(X射線)、GALEX(紫外線)探測器以及很多其他探測器。本書第一版是在一台帶有256MB記憶體、450Mhz奔騰III處理器的計算機上編寫的。1999年,第一台數字單眼相機投放市場:Nikon D1。這台相機只有274萬像素,價格為6000美元。一台典型的PC機硬碟容量為100~200MB。網路攝像機在1997年就出現了,但是非常昂貴而且解析度很低。通過計算機處理圖像的人需要有一個特殊的圖像獲取卡和比較昂貴的照相機才能開展自己的工作,總共需要大約1000~2000美元的設備。相比那個年代,個人計算機和圖像獲取的技術已經取得了長足的發展。
1997年,在我多次瀏覽與圖像處理和計算機視覺相關的Internet新聞組的時候,萌生了寫這本書第一版的想法。我注意到有一些提問請求反覆出現,它們有時候能得到回答,而有時候得不到回答,因此我考慮是否能寫一本書來回答這些常見的問題,書籍的形式能夠提供完整解釋所需要的一些必備的背景信息。然而,由於我當時剛剛完成了另一本書(Practical Computer Vision Using C),因此我沒心情再寫一本書了。我繼續在網上收集信息,希望有朝一日能以合理的方式整理這些信息。我做到了——本書第一版廣受好評。感謝你們!
15年後,技術發生了變化,但我驚訝地發現,計算機視覺和圖像處理領域的變化卻如此之小,至少其變化在可接受的範圍內。的確,理論變得更加複雜,而且三維視覺技術也肯定得到了提升。一些機器人視覺系統已經能完成非常有意思的事情,人臉識別也步入了一個新的台階。然而,簡單的字元識別仍然非常簡單,還沒有進步到能夠在大部分情況下可靠工作的地步。和其他類型的軟體不一樣,視覺系統並沒有深入日常的生活。為什麼呢?可能是因為視覺問題的確是一個非常棘手的問題。或許有必要對原書進行一次修訂?
我的目標有所改變。我現在對這項技術的“民主化”同樣感興趣——也就是說,讓任何人都能使用這項技術,不論是在家裡、在商業場合還是在學校。當然,您要懂得計算機編程,不過編程技能已經比過去更加普遍。這一版中構建程式所需的所有軟體都可以在Internet上免費獲得。我使用了免費的編譯器(Microsoft Visual Studio Express),OpenCV也能免費下載。阻礙您開發自己的圖像分析系統的唯一障礙就是您自己的編程技能。
在這一版中,有一些原始的材料並沒有太大的改變。邊緣檢測、細化、閾值化和形態學一直都不是研究的熱點,因此它們在這一版中的相關章節和初版中的相關章節非常接近。軟體已經升級為使用Intel的OpenCV系統,對於程式設計師來說,使用這個系統可以使得圖像IO和顯示的工作簡單得多。甚至從網路攝像機實時獲得圖像並作為程式的輸入也成為了一件簡單的事情。第1章討論了OpenCV使用的基礎知識,本書所有的軟體都使用OpenCV作為基礎。
本書中出現的大部分數學內容都是詳細理解書中所描述的算法的必備內容。只有數學才能提供圖像處理和視覺系統中的高級方法所需要的推導和證明。在某些情況下,我只涉及了表面知識,更細節的研究留給那些願意根據每章末的參考文獻按圖索驥的讀者。我精心選擇了描述不同方法的文獻,有的文獻提供了詳細且複雜的數學分析,有的文獻提供了清晰簡潔的講解。然而,對於某些情況,在文獻中幾乎沒有非常清晰的描述,而且至少需要具備大學數學水平才能理解。在這本書中,我嘗試用直觀的方式描述問題,為了儘可能地描述清楚而犧牲了一些嚴謹性(幾乎所有其他文獻都很嚴謹)。和正文描述相伴的軟體是對數學的替代,可以提供算法的分步描述。
我徹底刪除了本書第一版中的一些材料。書中再也沒有關於小波的章節了,也沒有遺傳算法的章節。從另一方面說,本書新添了關於分類器的章節,我認為在第一版中這顯然是一個遺漏。這一版中新添的重要的一章是關於利用並行計算解決圖像處理問題的章,其中包括通過圖形卡(GPU)加速計算高達200倍。還有全新的關於基於內容的搜尋的第11章,基於內容的搜尋指的是通過圖像中的信息獲取其他圖像。就好像是說:“找出另一張與這張圖片類似的圖片”。基於內容的搜尋會成為未來20年的重要技術。這項技術可以有效地使用現代大容量的磁碟驅動器;而且隨著低成本高解析度數位相機的普及,可以預見人們越來越需要在大量大圖像(海量像素數)中搜尋圖像。
這一版中討論的大部分算法的源碼都可以在本書的網站上找到。關於閾值處理的那一章提供了17個程式,每一個程式實現了不同的閾值算法。現在在Internet上都可以找到細化程式、邊緣檢測程式以及形態學程式。
關於圖像還原的一章仍是該主題實用信息的少有來源之一。符號識別的章節被更新了;然而,由於很多方法都是商用的,因此由於專利和著作權的原因,不能描述這些方法,也不能提供相關的軟體。不過,其基礎內容都得到了描述,而且可以關聯到與分類器有關的內容。
我認為利用並行計算處理視覺問題的那一章是本書的亮點。再次,利用可以下載到的工具,這一章展示了如何將網路上的所有計算機都連線起來組建成一個大型的圖像處理集群。這一章還講解了如何利用多核處理器上的所有CPU;最重要的是,這一章還介紹了有關如何利用GPU編程的非常實用的信息,通過GPU可以進行圖像處理和視覺任務處理,而不僅僅是顯示圖形。
最後,我還寫了包含了一組精選的圖像搜尋方法的一章內容。這些方法都有對應的代碼展示其算法的實現,再結合本書中的其他代碼,您可以花很多時間實驗自己的關於組織和搜尋圖像數據集的想法和算法。

圖書目錄

第1章 視覺系統實踐——圖像顯示、
輸入/輸出和庫函式調用 1
1.1 OpenCV 1
1.2 基本的OpenCV代碼 2
1.2.1 IplImage數據結構 3
1.2.2 讀寫圖像 5
1.2.3 圖像顯示 6
1.2.4 示例 6
1.3 圖像捕捉 9
1.4 和AIPCV庫的接口 11
1.5 網站檔案 15
1.6 參考文獻 15
第2章 邊緣檢測技術 17
2.1 邊緣檢測的目的 17
2.2 傳統的方法和理論 19
2.2.1 邊緣的模型 20
2.2.2 噪聲 21
2.2.3 導數運算元 24
2.2.4 基於模板的邊緣檢測 29
2.3 邊緣模型:Marr-Hildreth邊緣
檢測器 31
2.4 Canny Edge邊緣檢測器 34
2.5 Shen-Castan(ISEF)邊緣
檢測器 39
2.6 兩種最優邊緣檢測器
的比較 41
2.7 彩色邊緣 44
2.8 Marr-Hildreth邊緣檢測器
的原始碼 46
2.9 Canny邊緣檢測器的原始碼 50
2.10 Shen-Castan邊緣檢測器
的原始碼 58
2.11 網站檔案 67
2.12 參考文獻 69
第3章 數碼形態學 73
3.1 形態學定義 73
3.2 連通性 73
3.3 數碼形態學的基本元素——
二值操作 75
3.3.1 二值膨脹 75
3.3.2 實現二值膨脹 79
3.3.3 二值腐蝕 82
3.3.4 二值腐蝕的實現 86
3.3.5 開啟和閉合 88
3.3.6 MAX——用於形態學的高級
程式設計語言 93
3.3.7 “命中/不命中”變換 97
3.3.8 識別區域邊緣 99
3.3.9 條件膨脹 100
3.3.10 區域計數 102
3.4 灰階形態學 103
3.4.1 開啟操作和閉合操作 105
3.4.2 平滑操作 108
3.4.3 梯度 109
3.4.4 紋理的分割 110
3.4.5 對象的大小分布 111
3.5 彩色形態學 112
3.6 網站檔案 113
3.7 參考文獻 115
第4章 灰階分割 117
4.1 灰階分割的基礎 117
4.1.1 使用邊緣像素 119
4.1.2 疊代選擇法 119
4.1.3 灰階直方圖法 120
4.1.4 使用熵 121
4.1.5 模糊集合 124
4.1.6 最小誤差閾值法 126
4.1.7 單閾值選擇的示例結果 127
4.2 使用區域閾值 129
4.2.1 Chow-Kaneko算法 130
4.2.2 通過邊緣對光照進行
建模 133
4.2.3 實現和結果 135
4.2.4 對比 136
4.3 鬆弛法 137
4.4 移動平均法 142
4.5 基於聚類的閾值 145
4.6 多重閾值 146
4.7 網站檔案 147
4.8 參考文獻 148
第5章 紋理和色彩 151
5.1 紋理和分割 151
5.2 灰階圖像中紋理的簡單
分析 152
5.3 灰階共生矩陣 155
5.3.1 最大機率 157
5.3.2 矩 157
5.3.3 對比度 157
5.3.4 同質性 157
5.3.5 熵 158
5.3.6 GLCM描述符的測試
結果 158
5.3.7 紋理操作符的加速 159
5.4 邊緣和紋理 161
5.5 能量和紋理 162
5.6 表面和紋理 164
5.6.1 向量散射算法 164
5.6.2 表面曲度算法 166
5.7 分形維度 168
5.8 彩色分割 171
5.9 彩色紋理 174
5.10 網站檔案 174
5.11 參考文獻 175
第6章 圖像細化 179
6.1 骨架概述 179
6.2 中軸變換 180
6.3 疊代形態學方法 181
6.4 等高線的使用 188
6.5 把對象看做多邊形 192
6.6 基於力的圖像細化 194
6.6.1 定義 195
6.6.2 力場的使用 195
6.6.3 子像素骨架 198
6.7 Zhang-Suen/Stentiford/Holt組合
算法的原始碼 200
6.8 網站檔案 210
6.9 參考文獻 211
第7章 圖像還原 215
7.1 圖像降質——真實世界 215
7.2 頻域 217
7.2.1 傅立葉變換 217
7.2.2 快速傅立葉變換 219
7.2.3 逆傅立葉變換 222
7.2.4 二維傅立葉變換 223
7.2.5 OpenCV中的傅立葉變換 224
7.2.6 創建人工模糊 226
7.3 逆濾波器 231
7.4 Wiener濾波器 232
7.5 結構化噪聲 233
7.6 運動模糊——一種特殊情況 236
7.7 同態濾波器——過濾照度 237
7.7.1 通用頻率過濾器 238
7.7.2 分離光照產生的效果 240
7.8 網站檔案 241
7.9 參考文獻 242
第8章 分類 245
8.1 對象、模式和統計數據 245
8.1.1 特徵和區域 247
8.1.2 訓練和測試 251
8.1.3 類別內和類別外的差異 253
8.2 最小距離分類器 256
8.2.1 距離度量 257
8.2.2 特徵之間的距離 259
8.3 交叉驗證 260
8.4 支持向量機 262
8.5 多重分類器——整合
分類器 264
8.5.1 合併多種方法 264
8.5.2 整合類型1的回響 265
8.5.3 評估 266
8.5.4 回響類型之間的轉換 267
8.5.5 整合類型2的回響 267
8.5.6 整合類型3的回響 269
8.6 bagging和boosting 269
8.6.1 bagging 269
8.6.2 boosting 269
8.7 網站檔案 271
8.8 參考文獻 271
第9章 符號識別 273
9.1 問題描述 273
9.2 對簡單的完美圖像進行
OCR 274
9.3 在掃描的圖像上進行OCR——
圖像分割 277
9.3.1 噪聲 277
9.3.2 分離獨立的字形 279
9.3.3 匹配模板 282
9.3.4 統計識別 284
9.4 傳真圖像的OCR——針對印刷
字元 287
9.4.1 朝向——傾斜檢測 287
9.4.2 使用邊緣 291
9.5 手寫字元 294
9.5.1 字元輪廓的屬性 295
9.5.2 凸缺 297
9.5.3 向量模板 301
9.5.4 神經網路 305
9.6 使用多重分類器 312
9.6.1 合併多種方法 312
9.6.2 多重分類器的結果 314
9.7 印刷樂譜識別——案例
研究 315
9.7.1 五線譜線 315
9.7.2 分割 317
9.7.3 音樂符號識別 319
9.8 神經網路識別系統的原始碼 320
9.9 網站檔案 327
9.10 參考文獻 328
第10章 基於內容的搜尋——通過示例
搜尋圖像 333
10.1 搜尋圖像 333
10.2 維護圖像集合 334
10.3 通過示例搜尋的特徵 336
10.3.1 彩色圖像的特徵 336
10.3.2 灰階圖像特徵 343
10.4 考慮空間因素 345
10.4.1 整體區域 346
10.4.2 矩形區域 346
10.4.3 角度區域 346
10.4.4 環狀區域 347
10.4.5 混合區域 348
10.4.6 空間採樣的測試 348
10.5 其他要考慮的因素 350
10.5.1 紋理 351
10.5.2 對象、等高線和邊緣 351
10.5.3 數據集 351
10.6 網站檔案 352
10.7 參考文獻 353
第11章 將高性能計算用於視覺處理
和圖像處理 357
11.1 多處理器計算的範式 358
11.1.1 共享記憶體 358
11.1.2 訊息傳遞 359
11.2 執行時間 359
11.2.1 使用clock()函式 359
11.2.2 使用QueryPerformance-
Counter函式 361
11.3 訊息傳遞接口系統 363
11.3.1 安裝MPI 363
11.3.2 使用MPI 364
11.3.3 進程間通信 364
11.3.4 運行MPI程式 366
11.3.5 真實的圖像計算 367
11.3.6 使用計算機網路——集群
計算 370
11.4 共享記憶體系統——使用PC
圖形處理器 372
11.4.1 GLSL 373
11.4.2 OpenGL基礎 373
11.4.3 OpenGL中的紋理實踐 375
11.4.4 著色器編程基礎 378
11.4.5 讀入並轉換圖像 381
11.4.6 向著色程式傳遞參數 382
11.4.7 整合以上內容 384
11.4.8 通過GPU加速 385
11.4.9 開發和測試著色器
代碼 385
11.5 尋找所需的軟體 386
11.6 網站檔案 387
11.7 參考文獻 387

相關詞條

熱門詞條

聯絡我們