內容簡介
《MATLAB圖像與視頻處理實用案例詳解》詳細講解了25個MATLAB圖像與視頻處理實用案例(含可運行程式),涉及霧霾去噪、答題卡自動閱卷、肺部圖像分割、小波數字水印、圖像檢索、人臉二維碼識別、車牌定位及識別、霍夫曼圖像壓縮、手寫數字識別、英文字元文本識別、眼前節組織提取、全景圖像拼接、小波圖像融合、基於語音識別的音頻信號模擬燈控、路面裂縫檢測識別、視頻運動估計追蹤、Simulink圖像處理等多項重要技術,涵蓋了數字圖像處理中幾乎所有的基本模組。
工欲善其事,必先利其器,《MATLAB圖像與視頻處理實用案例詳解》對每個數字圖像處理的知識點都提供了豐富生動的案例素材,並詳細講解了其MATLAB實驗的核心程式,通過對這些示例程式的閱讀理解和仿真運行,讀者可以更加深刻地理解圖像處理的內容,並且更加熟練地掌握MATLAB中各種函式在圖像處理領域中的用法。
《MATLAB圖像與視頻處理實用案例詳解》以案例為基礎,結構布局緊湊,內容深入淺出,實驗簡捷高效,適合計算機、信號通信和自動化等相關專業的教師、本科生、研究生,以及廣大從事數字圖像處理的工程研發人員閱讀參考。
出版信息
MATLAB 圖像與視頻處理實用案例詳解
劉衍琦 詹福宇 編著
ISBN 978-7-121-25226-6
2015 年1月出版
定價:69.00元
308 頁
16 開
編輯推薦
1.MATLAB技術論壇創始人及該論壇圖像版主聯合力作,業內眾多專家力薦;
2.針對讀者需求精選超值案例,以極大程度提高讀者的理論及親身實戰經驗;
3.每個案例的講解都是先基礎及思路,再實戰,最後輔以思路延伸;
4.吐血案例分享,即學即用:圖像去霧、圖像去噪、車牌定位識別、肺癌輔助診斷、答題卡/人臉二維碼/字元/數字驗證碼識別、交通汽車檢測跟蹤、Simulink圖像/視頻處理、數字水印、圖像拼接……;
5.學無止境,探索無止境,交流無止境。MATLAB技術論壇提供本書線上交流服務,名家、專家及眾多MATLAB圖像與視頻處理愛好者等著你的加入。
內容提要
《MATLAB圖像與視頻處理實用案例詳解》詳細講解了25個MATLAB圖像與視頻處理實用案例(含可運行程式),涉及霧霾去噪、答題卡自動閱卷、肺部圖像分割、小波數字水印、圖像檢索、人臉二維碼識別、車牌定位及識別、霍夫曼圖像壓縮、手寫數字識別、英文字元文本識別、眼前節組織提取、全景圖像拼接、小波圖像融合、基於語音識別的音頻信號模擬燈控、路面裂縫檢測識別、視頻運動估計追蹤、Simulink圖像處理等多項重要技術,涵蓋了數字圖像處理中幾乎所有的基本模組。
工欲善其事,必先利其器,《MATLAB圖像與視頻處理實用案例詳解》對每個數字圖像處理的知識點都提供了豐富生動的案例素材,並詳細講解了其MATLAB實驗的核心程式,通過對這些示例程式的閱讀理解和仿真運行,讀者可以更加深刻地理解圖像處理的內容,並且更加熟練地掌握MATLAB中各種函式在圖像處理領域中的用法。
《MATLAB圖像與視頻處理實用案例詳解》以案例為基礎,結構布局緊湊,內容深入淺出,實驗簡捷高效,適合計算機、信號通信和自動化等相關專業的教師、本科生、研究生,以及廣大從事數字圖像處理的工程研發人員閱讀參考。
目錄
第1章 基於直方圖最佳化的圖像去霧技術 1
1.1 案例背景 1
1.2 理論基礎 1
1.2.1 空域圖像增強 1
1.2.2 直方圖均衡化 1
1.3 程式實現 3
1.3.1 設計GUI界面 3
1.3.2 全局直方圖處理 4
1.3.3 局部直方圖處理 5
1.3.4 Retinex增強處理 7
1.4 延伸閱讀 10
1.5 參考文獻 11
第2章 基於形態學的權重自適應圖像去噪 12
2.1 案例背景 12
2.2 理論基礎 12
2.2.1 圖像去噪方法 12
2.2.2 數學形態學原理 13
2.2.3 權重自適應的多結構形態學去噪 14
2.3 程式實現 14
2.4 延伸閱讀 20
2.5 參考文獻 21
第3章 基於多尺度形態學提取眼前節組織 22
3.1 案例背景 22
3.2 理論基礎 22
3.3 程式實現 25
3.3.1 多尺度邊緣 25
3.3.2 主處理函式 26
3.3.3 形態學處理 28
3.4 延伸閱讀 29
3.5 參考文獻 30
第4章 基於Hough變化的答題卡識別 31
4.1 案例背景 31
4.2 理論基礎 31
4.2.1 圖像二值化 31
4.2.2 傾斜校正 32
4.2.3 圖像分割 35
4.3 程式實現 37
4.4 延伸閱讀 47
4.5 參考文獻 47
第5章 基於閾值分割的車牌定位識別 48
5.1 案例背景 48
5.2 理論基礎 48
5.2.1 車牌圖像處理 49
5.2.2 車牌定位原理 52
5.2.3 車牌字元處理 52
5.2.4 字元識別 54
5.3 程式實現 55
5.4 延伸閱讀 63
5.5 參考文獻 63
第6章 基於分水嶺分割進行肺癌診斷 64
6.1 案例背景 64
6.2 理論基礎 64
6.2.1 模擬浸水的過程 64
6.2.2 模擬降水的過程 65
6.2.3 過度分割問題 65
6.2.4 標記分水嶺分割算法 65
6.3 程式實現 66
6.4 延伸閱讀 71
6.5 參考文獻 71
第7章 基於主成分分析的人臉二維碼識別 72
7.1 案例背景 72
7.2 理論基礎 72
7.2.1 QR編碼簡介 72
7.2.2 QR編碼解碼 74
7.2.3 主成分分析方法 76
7.3 程式實現 77
7.3.1 人臉建庫 77
7.3.2 人臉識別 78
7.3.3 人臉二維碼 79
7.4 延伸閱讀 83
7.5 參考文獻 84
第8章 基於知識庫的手寫體數字識別 85
8.1 案例背景 85
8.2 理論基礎 85
8.2.1 算法流程 85
8.2.2 特徵提取 85
8.2.3 模式識別 86
8.3 程式實現 87
8.3.1 圖像處理 87
8.3.2 特徵提取 88
8.3.3 模式識別 91
8.4 延伸閱讀 91
8.4.1 識別器選擇 91
8.4.2 提高識別率 92
8.5 參考文獻 92
第9章 基於特徵匹配的英文印刷字元識別 93
9.1 案例背景 93
9.2 理論基礎 93
9.2.1 圖像預處理 93
9.2.2 圖像識別技術 94
9.3 程式實現 96
9.4 延伸閱讀 101
9.5 參考文獻 101
第10章 基於不變矩的數字驗證碼識別 102
10.1 案例背景 102
10.2 理論基礎 102
10.3 程式實現 103
10.3.1 設計GUI界面 103
10.3.2 載入驗證碼圖像 103
10.3.3 驗證碼圖像去噪 104
10.3.4 驗證碼數字定位 106
10.3.5 驗證碼歸一化 108
10.3.6 驗證碼數字識別 109
10.3.7 手動確認併入庫 111
10.3.8 重新生成模板庫 112
10.4 延伸閱讀 115
10.5 參考文獻 115
第11章 基於小波技術進行圖像融合 116
11.1 案例背景 116
11.2 理論基礎 116
11.3 程式實現 118
11.3.1 GUI設計 118
11.3.2 圖像載入 119
11.3.3 小波融合 120
11.4 延伸閱讀 123
11.5 參考文獻 123
第12章 基於塊匹配的全景圖像拼接 124
12.1 案例背景 124
12.2 理論基礎 124
12.2.1 圖像匹配 125
12.2.2 圖像融合 127
12.3 程式實現 127
12.3.1 設計GUI 127
12.3.2 載入圖片 128
12.3.3 圖像匹配 129
12.3.4 圖像拼接 133
12.4 延伸閱讀 137
12.5 參考文獻 138
第13章 基於霍夫曼圖像壓縮重建 139
13.1 案例背景 139
13.2 理論基礎 139
13.2.1 霍夫曼編碼的步驟 139
13.2.2 霍夫曼編碼的特點 140
13.3 程式實現 141
13.3.1 設計GUI 141
13.3.2 壓縮重構 142
13.3.3 效果對比 147
13.4 延伸閱讀 149
13.5 參考文獻 149
第14章 基於主成分分析的圖像壓縮和重建 150
14.1 案例背景 150
14.2 理論基礎 150
14.2.1 主成分降維分析原理 150
14.2.2 由得分矩陣重建樣本 151
14.2.3 主成分分析數據壓縮比 151
14.2.4 基於主成分分析的圖像壓縮 152
14.3 程式實現 152
14.3.1 主成分分析原始碼 152
14.3.2 圖像和樣本間轉換 153
14.3.3 基於主成分分析的圖像壓縮 154
14.4 延伸閱讀 157
14.5 參考文獻 157
第15章 基於小波的圖像壓縮技術 158
15.1 案例背景 158
15.2 理論基礎 158
15.3 程式實現 161
15.4 延伸閱讀 167
15.5 參考文獻 168
第16章 基於Hu不變矩的圖像檢索技術 169
16.1 案例背景 169
16.2 理論基礎 169
16.3 程式實現 170
16.3.1 圖像預處理 170
16.3.2 計算不變矩 171
16.3.3 圖像檢索 172
16.3.4 結果分析 174
16.4 延伸閱讀 177
16.5 參考文獻 178
第17章 基於Harris的角點特徵檢測 179
17.1 案例背景 179
17.2 理論基礎 179
17.2.1 Harris基本原理 179
17.2.2 Harris算法流程 181
17.2.3 Harris角點性質 181
17.3 程式實現 182
17.3.1 Harris算法代碼 182
17.3.2 角點檢測實例 184
17.4 延伸閱讀 184
17.5 參考文獻 185
第18章 基於GUI搭建通用視頻處理工具 186
18.1 案例背景 186
18.2 理論基礎 186
18.3 程式實現 187
18.3.1 GUI設計 187
18.3.2 GUI實現 188
18.4 延伸閱讀 195
18.5 參考文獻 195
第19章 基於語音識別的信號燈圖像模擬控制技術 196
19.1 案例背景 196
19.2 理論基礎 196
19.3 程式實現 197
19.4 延伸閱讀 207
19.5 參考文獻 207
第20章 基於幀間差法進行視頻目標檢測 208
20.1 案例背景 208
20.2 理論基礎 208
20.2.1 幀間差分法 208
20.2.2 背景差分法 209
20.2.3 光流法 210
20.3 程式實現 211
20.4 延伸閱讀 218
20.5 參考文獻 218
第21章 路面裂縫檢測識別系統設計 219
21.1 案例背景 219
21.2 理論基礎 219
21.2.1 圖像灰度化 220
21.2.2 圖像濾波 221
21.2.3 圖像增強 223
21.2.4 圖像二值化 224
21.3 程式實現 226
21.4 延伸閱讀 236
21.5 參考文獻 236
第22章 基於K-means聚類算法的圖像區域分割 237
22.1 案例背景 237
22.2 理論基礎 237
22.2.1 K-means聚類算法原理 237
22.2.2 K-means聚類算法的要點 238
22.2.3 K-means聚類算法缺點 238
22.2.4 基於K-means圖像分割 239
22.3 程式實現 239
22.3.1 樣本之間距離 239
22.3.2 提取特徵向量 240
22.3.3 圖像聚類分割 241
22.4 延伸閱讀 243
22.5 參考文獻 243
第23章 基於光流場的交通汽車檢測跟蹤 244
23.1 案例背景 244
23.2 理論基礎 244
23.2.1 光流法檢測運動原理 244
23.2.2 光流的主要計算方法 245
23.2.3 梯度光流場約束方程 246
23.2.4 Horn-Schunck光流算法 247
23.3 程式實現 248
23.3.1 計算視覺系統工具箱簡介 248
23.3.2 基於光流場檢測汽車運動 250
23.3.3 搭建Simulink運動檢測模型 253
23.4 延伸閱讀 255
23.5 參考文獻 256
第24章 基於Simulink進行圖像和視頻處理 257
24.1 案例背景 257
24.2 模組介紹 257
24.2.1 分析和增強模組庫(Analysis & Enhancement) 258
24.2.2 轉化模組庫(Conversions) 258
24.2.3 濾波模組庫(Filtering) 259
24.2.4 幾何變換模組庫(Gemetric Transformations) 259
24.2.5 形態學操作模組庫(Morphological Operations) 260
24.2.6 輸入模組庫(Sources) 260
24.2.7 輸出模組庫(Sinks) 260
24.2.8 統計模組庫(Statistics) 261
24.2.9 文本和圖形模組庫(Text & Graphic) 261
24.2.10 變換模組庫(Transforms) 262
24.2.11 其他工具模組庫(Utilities) 262
24.3 仿真案例 262
24.3.1 搭建組織模型 262
24.3.2 仿真執行模型 264
24.3.3 代碼自動生成 265
24.4 延伸閱讀 270
24.5 參考文獻 271
第25章 基於小波變換的數字水印技術 272
25.1 案例背景 272
25.2 理論基礎 272
25.2.1 數字水印技術原理 273
25.2.2 典型的數字水印算法 274
25.2.3 數字水印攻擊和評價 276
25.2.4 基於小波的水印技術 277
25.3 程式實現 279
25.3.1 準備載體和水印圖像 279
25.3.2 小波數字水印的嵌入 280
25.3.3 小波數字水印的提取 283
25.3.4 小波水印的攻擊試驗 286
25.4 延伸閱讀 289
25.5 參考文獻 290
作者簡介
劉衍琦,碩士,軟體研發工程師,MATLAB技術論壇圖像版主,畢業於大連理工大學數學科學學院計算幾何與圖形圖像實驗室。從本科學習階段開始接觸MATLAB,歷經MATLAB由6.X到8.X系列的發展,不斷地將MATLAB熟練地套用到科研學習和工作之中,並積極通過MATLAB技術論壇等平台與國內外廣大會員朋友進行技術探討,將解決圖像處理開發所遇到的實際問題進行了經驗總結,積累了一定的圖像處理知識儲備。在MATLAB技術論壇發布多篇圖像處理相關教程,合作出版多本MATLAB書籍。
詹福宇,博士,飛行控制系統工程師,MATLAB技術論壇創始人,畢業於西北工業大學航空學院飛行器設計專業。精通多種計算機編程,尤其擅長MATLAB和C/C++,擁有近10年MATLAB開發使用經驗,熟悉Simulink基於模型設計流程。於2008年創建MATLAB技術論壇,安全運營、維護和管理該論壇網站6年,編寫MATLAB/Simulink原創教程數百篇,解決會員MATLAB技術問題數萬個,積累了豐富的相關經驗。曾多次、多地組織MATLAB現場技術研討會,贏得了大家的積極好評。
前言
MATLAB是MathWorks公司推出的一款套用於科學計算和工程仿真的互動式編程軟體,近幾年已經發展成為集數值分析、數學建模、圖像處理、控制系統、信號處理、經濟金融、計算生物學、動態仿真等為一體的科學工程軟體。數字圖像處理技術涉及計算機科學、模式識別、人工智慧、生物工程等學科,是一門綜合性的技術。
自從電子計算機誕生以來,通過計算機仿真來模擬人類視覺便成為一項非常熱門且頗具挑戰性的研究領域,隨著數位相機、智慧型手機等硬體設備的普及,圖像以其易於採集、信息相關性多、抗干擾能力強的特點得到了越來越廣泛的套用。信息化和數位化時代已經來臨,隨著國家對人工智慧領域的不斷投入,圖像處理的需求量也會越來越大,套用也將越來越廣泛。
MATLAB圖像處理工具箱可為用戶提供諸如圖像變換、圖像增強、圖像特徵檢測、圖像復原、圖像分割、圖像去噪、圖像配準、視頻處理等功能研發的技術支撐。同時藉助於MATLAB方便的編程及調試技巧,用戶可以根據需要進一步拓展圖像處理工具箱,實現定製的圖像處理需求。
本書目的
本書以案例的形式展現,力求為讀者提供最便捷、直接的技術支持,解決讀者在研發過程中遇到的最具體、實際的技術難點,爭取與廣大讀者分享研發過程中所涉及的功能模組及某些成熟的系統框架,為讀者進行科學實驗、項目開發提供一定的技術支持。
通過對書中案例的閱讀、理解、運行和仿真,讀者可以有針對性地進行算法調試,這樣可以更加深刻地理解圖像與視頻處理的含義,並且更加熟練地掌握MATLAB圖像處理工具箱的用法。
本書特點
作者陣容強大,經驗相當豐富
在實際的科研工作中,本書作者之一詹福宇(論壇ID:dynamic)長期與國內外會員進行技術交流,積極解答會員疑問並進行經驗總結,積累了豐富的MATLAB/Simulink圖像處理經驗。本書另一位作者劉衍琦(論壇ID:lyqmath)則是MATLAB技術論壇圖像版主,通過運用MATLAB進行圖像處理、視頻分析等項目實踐,積累了較為豐富的項目實戰經驗。
案例豐富、實用、拓展性強
本書選擇以案例的形式進行編寫,充分強調“案例的實用性、程式的可拓展性”,所選案例均來自於MATLAB技術論壇會員的切身需求,每一個案例都與實際課題相結合。另外,書中的每個案例都經過作者在MATLAB上進行程式調試,作者也為此編寫了大量的測試代碼。書中某些部分的內容描述是作者根據圖像處理實驗過程進行歸納總結的結果,多數案例的程式實現部分具有一定的原創性。
理論知識紮實,集眾家之長處
在本書的編寫過程中參考了大量的MATLAB幫助文檔、MATLAB相關書籍及MATLAB技術論壇等方面的資源,同時引用了部分參考文獻的最新圖像相關技術和理論。
點面完美結合,兼顧中高級用戶
本書點面兼顧,涵蓋了數字圖像處理中幾乎所有的基本模組,並涉及視頻處理、配準拼接、數字水印、生物識別等高級圖像處理方面內容,全面講解了基於MATLAB R2012a進行圖像處理的原理及方法。
配套資源豐富,交流資源絕佳
本書作者和編輯聯合MATLAB技術論壇,為廣大讀者提供“線上交流,有問必答”網路互動答疑服務,您可以與作者一對一地探討相關知識點,以及下載書籍的輔助資料,讓您獲得最佳的閱讀體驗。您的建議將是我們創作精品的最大動力和源泉。
本書作者會儘量每周登入網站2~3次,集中回復讀者的疑難問題,但由於工作和時間等原因,作者可能不會及時回答所有讀者的問題,敬請大家諒解。只要您願意交流和學習,MATLAB技術論壇有足夠優秀的會員幫您解答。
內容架構
本書共有25個MATLAB圖像與視頻處理案例(含可運行程式),其內容架構如下所述。
第1章:講述基於直方圖最佳化的圖像去霧技術,通過直方圖增強技術的相關研究,引入對霧霾圖像進行最佳化的套用。
第2章:講述基於形態學的權重自適應圖像去噪,通過形態學的圖像去噪效果,引入加權形態學去噪的套用。
第3章:講述基於多尺度形態學提取眼前節組織,通過形態學的圖像邊緣提取效果,引入多尺度形態學的套用。
第4章:講述基於Hough變化的答題卡識別,通過對答題卡自動閱卷的研究,引入圖像分割、目標定位等領域的套用。
第5章:講述基於閾值分割的車牌定位識別,通過對車牌定位、分割、識別的研究,引入圖像處理在車牌識別領域的套用。
第6章:講述基於分水嶺分割進行肺癌診斷,通過分水嶺算法在肺部圖像分割的研究,引入分水嶺及醫學圖像處理的套用。
第7章:講述基於主成分分析的人臉二維碼識別,通過對主成分分析、人臉識別、QR二維碼的研究,引入QR人臉識別的套用。
第8章:講述基於知識庫的手寫體數字識別,通過對手寫數字特徵的提取,引入模式識別在手寫數字方面的套用。
第9章:講述基於特徵匹配的英文印刷字元識別,通過對英文片段圖像的分割、識別,引入在MATLAB中生成自定義標準字元庫、GUI互動等領域的套用。
第10章:講述基於不變矩的數字驗證碼識別,通過對驗證碼生成特點、分割定位、檢測識別的研究,引入對某特定類型驗證碼從獲取到識別的套用。
第11章:講述基於小波技術進行圖像融合,通過對圖像融合的研究,引入小波分解、圖像多解析度處理的套用。
第12章:講述基於塊匹配的全景圖像拼接,通過對全景圖像生成方法的研究,引入塊匹配、加權融合等套用。
第13章:講述基於霍夫曼圖像壓縮重建,通過對霍夫曼編碼的研究,引入圖像壓縮重建的套用。
第14章:講述基於主成分分析的圖像壓縮和重建,通過對主成分分析的研究,引入不同壓縮參數下重建效果調優的套用。
第15章:講述基於小波的圖像壓縮技術,通過對小波圖像處理的研究,引入多解析度圖像壓縮重建的套用。
第16章:講述基於Hu不變矩的圖像檢索技術,通過對圖像庫Hu矩特徵提取的研究,引入圖像檢索的套用。
第17章:講述基於Harris的角點特徵檢測,通過對Harris檢測算法的研究,引入圖像角點檢測的套用。
第18章:講述基於GUI搭建通用視頻處理工具,通過對GUI、視頻圖像處理工具箱的使用,搭建MATLAB圖像視頻處理框架的套用。
第19章:講述基於語音識別的信號燈圖像模擬控制技術,通過對語音特徵及建庫的研究,引入一個語音控制光信號的套用。
第20章:講述基於幀間差法進行視頻目標檢測,通過對視頻跟蹤的研究,引入在視頻多目標跟蹤的套用。
第21章:講述路面裂縫檢測識別系統設計,通過對裂縫圖像特徵、識別的研究,引入路面裂縫檢測和提取的套用。
第22章:講述基於K-means聚類算法的圖像區域分割,通過對K均值聚類算法的研究,引入其在圖像分割方面的套用。
第23章:講述基於光流場的交通汽車檢測跟蹤,通過對汽車視頻跟蹤的研究,引入光流場在跟蹤檢測方面的套用。
第24章:講述基於Simulink進行圖像視頻處理,通過對Simulink模組簡介,引入其在圖像視頻處理領域的套用。
第25章:講述基於小波變換的數字水印技術,通過對圖像水印的相關研究,引入圖像水印嵌入、提取等套用。
關於MATLAB技術論壇
MATLAB技術論壇(Simulink仿真論壇)是國內兩大MATLAB技術學習和交流平台之一!她致力於為大家提供專業、權威的MathWorks新聞資訊,豐富、免費的MATLAB教學資源,以及強大、全面的MATLAB技術支持!
MATLAB技術論壇由西北工業大學航空學院dynamic同學於2008年09月14日創建,並在2010年8月1日對論壇管理結構進行了擴充和重組,新加入6名MATLAB高級愛好者(yaksa、matsuper、yangzijiang、faruto、rocwoods、xiezhh)!MATLAB技術論壇有註冊會員30多萬,管理成員30多名,專業版塊80多個,高質量主題20000+;舉辦過編程競賽、線下研討會和數模競賽等多項活動;與多個出版單位和科研機構有合作關係!
特别致謝
本書由劉衍琦、詹福宇編著,在本書的編寫過程中,得到了中科院計算所煙臺分所、中航工業611所、西北工業大學等單位領導和同事的大力支持,在此對他們表示衷心的感謝。本書寫作之初還得到了電子工業出版社張國霞編輯的鼓勵和支持,在此深表謝意。最後,作者對本書所引用論文和參考書籍的作者表示感謝,同時對各位MATLAB技術論壇的會員朋友給予的啟發和幫助表示感謝。
由於時間倉促,加之作者水平和經驗有限,書中疏漏甚至錯誤在所難免,希望廣大讀者批評指正。
劉衍琦 詹福宇
2015年1月