實用MATLAB圖像和視頻處理

實用MATLAB圖像和視頻處理

《實用MATLAB圖像和視頻處理》是2013年出版的圖書,作者是Oge Marques。

圖書簡介

介紹圖像和視頻處理技術並輔以MATLAB算法實現的書籍。本書是一本楚成王。目前介紹圖像處理的書籍很多,也有一些介紹視頻處理的書籍,但將兩者結合在一本書中的還不太多。視頻處理是對圖像處理的一種擴展,近年來視頻的廣泛套用也促進了圖像技術的推廣。另外,學習圖像和視頻處理技術除了要理解原理,對算法進行實現也很重要。這一方面可幫助讀者進一步理解原理,另一方面也有助於藉助圖像和視頻處理技術解決實際問題。MATLAB是面向科學和工程計算的軟體平台,用其來展示現圖像和視頻處理技術既方便又實用。
本書是作為一本實用教材來編寫的,沒有過多地介紹圖像和視頻處理技術中的數學公式,而是注重方法的概念和算法的效果。全書每章都以“將學習什麼?”開始,介紹本章要分析的主要問題;每章末尾都有“學到了什麼?”,總結歸納該章的要點。大多數章在介紹圖像和視頻處理技術後,還提供了相應的MATLAB教程,以一步一步引導讀者實現相應技術的算法,並且可以看到處理的結果。另外,每章都有“了解更多”,給出深入學習或套用的參考(很多章還提供了相應的網站或網頁,可以獲得更新的信息)。

圖書目錄

表 格 列 表

編號

表 題

頁碼

表3.1

MATLAB數據類別

26

表3.2

MATLAB數組和矩陣算術操作

29

表3.3

MATLAB特殊的矩陣操作示例

29

表3.4

IPT支持的特殊算術函式

30

表3.5

關係操作符

30

表3.6

邏輯操作符

30

表3.7

邏輯函式

30

表3.8

選出來的內置變數和內置常量

31

表4.1

執行圖像數據類轉換的IPT函式

48

表4.2

執行圖像數據類轉換的IPT函式

50

表7.1

對所選仿射變換係數的匯總

90

表8.1

線性點變換示例(圖8.4中的圖像和曲線)

110

表9.1

一個直方圖示例

123

表9.2

均衡化的直方圖:數值

127

表9.3

期望的直方圖

129

表9.4

直接直方圖規定化:匯總

130

表9.5

結果直方圖

130

表10.1

卷積模板示例

149

表13.1

bwmorph支持的操作

228

表16.1

用於CIE XYZ和CIELAB彩色空間的IPT函式

283

表16.2

用於ICC配置操作的IPT函式

283

表16.3

對應RGB立方體的8個頂點的代表性彩色的R、G和B值

284

表16.4

MATLAB中的彩色映射

289

表17.1

三幅具有不同質量因子的JPEG圖像的客觀質量測度

315

表17.2

五幅具有不同質量因子的JPEG圖像的壓縮率

317

表17.3

五幅具有不同質量因子的JPEG圖像的客觀質量測度

317

表18.1

RST不變矩

325

表18.2

標記區域的性質

325

表18.3

圖18.16中三幅圖像的統計紋理描述符

333

表18.4

圖18.16中三幅圖像的統計紋理描述符(基於共生矩陣)

335

表18.5

特徵提取結果表

336

表20.1

模擬彩色電視系統的參數

368

表20.2

代表性的數字視頻格式

374

表20.3

ITU-R的BT.601-5建議的參數

375

表20.4

代表性的數字視頻格式

目 錄

第1部分?圖 像 處 理

第1章 引言和概述 3

1.1 動機 3

1.2 基本概念和術語 4

1.3 典型圖像處理操作示例 5

1.4 數字圖像處理系統的組成 8

1.5 機器視覺系統 9

1.6 資源 10

1.7 練習題 13

第2章 圖像處理基礎 15

2.1 數字圖像表達 15

2.1.1 二值(1比特)圖像 16

2.1.2 灰度(8比特)圖像 17

2.1.3 彩色圖像 17

2.1.4 壓縮 18

2.2 圖像檔案格式 19

2.3 基本術語 20

2.4 圖像處理操作概述 21

2.4.1 全局(點)操作 22

2.4.2 面向鄰域的操作 22

2.4.3 結合多幅圖像的操作 23

2.4.4 變換域操作 23

第3章 MATLAB基礎 25

3.1 MATLAB介紹 25

3.2 MATLAB的基本元素 25

3.2.1 工作環境 26

3.2.2 數據種類 26

3.2.3 MATLAB中的數組和矩陣索引 26

3.2.4 標準數組 27

3.2.5 命令行操作 27

3.3 編程工具:腳本和函式 27

3.3.1 M-檔案 28

3.3.2 操作符 29

3.3.3 重要變數和常量 30

3.3.4 數字表示 31

3.3.5 流程控制 31

3.3.6 代碼最佳化 31

3.3.7 輸入和輸出 31

3.4 圖形和可視化 31

3.5 教程3.1:MATLAB——導覽 32

3.6 教程3.2:MATLAB數據結構 34

3.7 教程3.3:MATLAB編程 39

3.8 練習題 43

第4章 圖像處理工具箱一覽 45

4.1 圖像處理工具箱:概述 45

4.2 基本功能和特性 45

4.2.1 顯示有關圖像檔案的信息 46

4.2.2 讀一個圖像檔案 47

4.2.3 數據類和數據轉換 48

4.2.4 顯示一幅圖像的內容 50

4.2.5 發掘一幅圖像的內容 51

4.2.6 將結果圖像寫入一個檔案 52

4.3 教程4.1:MATLAB圖像處理工具箱——導遊 53

4.4 教程4.2:基本圖像操作 54

4.5 練習題 58

第5章 圖像感測和採集 60

5.1 介紹 60

5.2 光、彩色和電磁頻譜 61

5.2.1 光和電磁頻譜 61

5.2.2 圖像種類 61

5.2.3 光和彩色感知 62

5.2.4 彩色編碼和表達 63

5.3 圖像採集 64

5.3.1 圖像感測器 64

5.3.2 相機光學器件 66

5.4 圖像數位化 67

5.4.1 採樣 68

5.4.2 量化 69

5.4.3 空間和灰度解析度 69

5.5 練習題 72

第6章 算術和邏輯運算 74

6.1 算術運算:基礎和套用 74

6.1.1 加法 74

6.1.2 減法 76

6.1.3 乘法和除法 78

6.1.4 結合若干個算術操作 78

6.2 邏輯運算:基礎和套用 79

6.3 教程6.1:算術運算 81

6.4 教程6.2:邏輯運算和感興趣區域處理 85

6.5 練習題 87

第7章 幾何操作 89

7.1 介紹 89

7.2 映射和仿射變換 90

7.3 插值方法 92

7.3.1 對插值的需求 92

7.3.2 簡單的插值方法 93

7.3.3 零階(最近鄰)插值 93

7.3.4 一階(雙線性)插值 93

7.3.5 高階插值 93

7.4 使用MATLAB進行幾何操作 94

7.4.1 放大、縮小和調整大小 94

7.4.2 平移 95

7.4.3 旋轉 95

7.4.4 裁剪 95

7.4.5 翻轉 95

7.5 其他幾何操作和套用 95

7.5.1 扭曲 95

7.5.2 非線性圖像變換 96

7.5.3 變形 97

7.5.4 接縫焊接 97

7.5.5 圖像配準 98

7.6 教程7.1:圖像裁剪、大小調整、翻轉和旋轉 98

7.7 教程7.2:空間變換和圖像配準 101

7.8 練習題 106

第8章 灰度變換 108

8.1 介紹 108

8.2 灰度(點)變換綜述 109

8.3 點變換示例 111

8.3.1 對比度操縱 111

8.3.2 求反 112

8.3.3 冪律(伽瑪)變換 112

8.3.4 對數變換 113

8.3.5 分段線性變換 114

8.4 指定變換函式 115

8.5 教程8.1:灰度變換 117

8.6 練習題 121

第9章 直方圖處理 122

9.1 圖像直方圖:定義和示例 122

9.2 計算圖像的直方圖 123

9.3 解釋圖像的直方圖 123

9.4 直方圖均衡化 125

9.5 直接直方圖規定化 129

9.6 其他直方圖修改技術 131

9.6.1 直方圖滑動 131

9.6.2 直方圖伸展 131

9.6.3 直方圖收縮 133

9.7 教程9.1:圖像直方圖 133

9.8 教程9.2:直方圖均衡化和規定化 136

9.9 教程9.3:其他直方圖修改技術 138

9.10 練習題 142

第10章 鄰域處理 145

10.1 介紹 145

10.2 卷積和相關 145

10.2.1 一維域中的卷積 146

10.2.2 二維域中的卷積 147

10.2.3 相關 149

10.2.4 處理圖像邊界 150

10.3 圖像平滑(低通濾波器) 151

10.3.1 均值濾波器 152

10.3.2 變型 153

10.3.3 高斯模糊濾波器 154

10.3.4 中值和其他非線性濾波器 155

10.4 圖像銳化(高通濾波器) 156

10.4.1 拉普拉斯運算元 156

10.4.2 複合拉普拉斯運算元模板 157

10.4.3 方向差分濾波器 158

10.4.4 非銳化掩膜 158

10.4.5 高頻提升濾波 158

10.5 感興趣區域處理 158

10.6 結合空間增強方法 159

10.7 教程10.1:卷積和相關 159

10.8 教程10.2:空間平滑濾波器 161

10.9 教程10.3:空間銳化濾波器 163

10.10 練習題 167

第11章 頻域濾波 169

11.1 介紹 169

11.2 傅立葉變換:數學基礎 170

11.2.1 基本概念 170

11.2.2 2-D離散傅立葉變換:數學公式 171

11.2.3 傅立葉變換性質匯總 172

11.2.4 其他數學變換 174

11.3 低通濾波 174

11.3.1 理想LPF 174

11.3.2 高斯LPF 175

11.3.3 巴特沃斯LPF 177

11.4 高通濾波 179

11.4.1 理想HPF 179

11.4.2 高斯HPF 179

11.4.3 巴特沃斯HPF 180

11.4.4 高頻增強 180

11.5 教程11.1:2-D傅立葉變換 180

11.6 教程11.2:頻域裡的低通濾波器 182

11.7 教程11.3:頻域高通濾波器 185

11.8 練習題 190

第12章 圖像恢復 191

12.1 對圖像退化和恢復問題建模 191

12.2 噪聲和噪聲模型 192

12.2.1 噪聲機率密度函式示例 192

12.2.2 噪聲估計 196

12.3 使用空域技術的噪聲消除 197

12.3.1 均值濾波器 197

12.3.2 序統計濾波器 199

12.3.3 自適應濾波器 201

12.4 使用頻域技術的噪聲消除 202

12.4.1 周期性噪聲 202

12.4.2 帶阻濾波器 202

12.4.3 帶通濾波器 203

12.4.4 陷波濾波器 204

12.5 圖像去模糊技術 205

12.6 教程12.1:使用空域技術的噪聲消除 208

12.7 練習題 214

第13章 形態圖像處理 216

13.1 介紹 216

13.2 基本概念和操作 216

13.3 膨脹和腐蝕 219

13.3.1 膨脹 220

13.3.2 腐蝕 221

13.4 複合操作 223

13.4.1 開啟 223

13.4.2 閉合 224

13.4.3 擊中-擊不中變換 225

13.5 形態濾波器 226

13.6 基本形態算法 227

13.6.1 邊界提取 229

13.6.2 區域填充 230

13.6.3 連通組元提取和標記 231

13.7 灰度形態學 232

13.7.1 膨脹和腐蝕 232

13.7.2 開啟和閉合 233

13.7.3 高帽和低帽變換 233

13.8 教程13.1:二值形態圖像處理 234

13.9 教程13.2:基本形態算法 237

13.10 練習題 240

第14章 邊緣檢測 241

14.1 問題的提出 241

14.2 基本概念 241

14.3 一階導數邊緣檢測 243

14.4 二階導數邊緣檢測 247

14.5 坎尼邊緣檢測器 249

14.6 邊緣連線和邊界檢測 250

14.7 教程14.1:邊緣檢測 253

14.8 練習題 260

第15章 圖像分割 261

15.1 介紹 261

15.2 基於強度的分割 262

15.2.1 圖像閾值化 262

15.2.2 全局閾值化 263

15.2.3 照明和噪聲對閾值化的影響 264

15.2.4 局部閾值化 266

15.3 基於區域的分割 266

15.3.1 區域生長 267

15.3.2 區域分裂合併 269

15.4 分水嶺分割 270

15.5 教程15.1:圖像閾值化 271

15.6 練習題 276

第16章 彩色圖像處理 277

16.1 彩色心理物理學 277

16.1.1 基本概念 277

16.1.2 CIE的XYZ色度圖 279

16.1.3 感知均勻彩色空間 282

16.1.4 ICC配置 283

16.2 彩色模型 283

16.2.1 RGB彩色模型 284

16.2.2 CMY和CMYK彩色模型 285

16.2.3 HSV彩色模型 285

16.2.4 YIQ(NTSC)彩色模型 286

16.2.5 YCbCr彩色模型 287

16.3 彩色圖像在MATLAB中的表示 287

16.3.1 RGB圖像 287

16.3.2 索引圖像 288

16.4 偽彩色圖像處理 290

16.4.1 強度切割 291

16.4.2 灰度到彩色變換 292

16.4.3 頻域偽彩色化 292

16.5 全彩色圖像處理 293

16.5.1 彩色變換 294

16.5.2 直方圖處理 295

16.5.3 彩色圖像平滑和銳化 296

16.5.4 彩色噪聲消除 296

16.5.5 基於彩色的圖像分割 297

16.5.6 彩色邊緣檢測 299

16.6 教程16.1:偽彩色圖像處理 300

16.7 教程16.2:全彩色圖像處理 301

16.8 練習題 304

第17章 圖像壓縮和編碼 306

17.1 介紹 306

17.2 基本概念 306

17.2.1 冗餘 307

17.2.2 圖像編碼和解碼模型 308

17.3 無損和有損壓縮技術 309

17.3.1 無損壓縮技術 309

17.3.2 有損壓縮技術 310

17.4 圖像壓縮標準 311

17.4.1 二值圖像壓縮標準 311

17.4.2 連續色調靜止圖像壓縮標準 311

17.4.3 JPEG 312

17.4.4 JPEG2000 312

17.4.5 JPEG-LS 313

17.5 圖像質量測度 313

17.5.1 主觀質量測量 313

17.5.2 客觀質量測量 314

17.6 教程17.1:圖像壓縮 315

第18章 特徵提取和表達 319

18.1 介紹 319

18.2 特徵矢量和矢量空間 319

18.3 二值目標特徵 321

18.3.1 面積 321

18.3.2 重心 321

18.3.3 最小二階矩的軸 321

18.3.4 投影 322

18.3.5 歐拉數 323

18.3.6 周長 323

18.3.7 細度比例 323

18.3.8 偏心率 324

18.3.9 寬高比 324

18.3.10 矩 324

18.4 邊界描述符 326

18.4.1 鏈碼、弗里曼碼和形狀數 327

18.4.2 邊界標誌 329

18.4.3 傅立葉描述符 330

18.5 基於直方圖(統計的)特徵 331

18.6 紋理特徵 332

18.7 教程18.1:特徵提取和表達 335

18.8 練習題 338

第19章 視覺模式識別 339

19.1 介紹 339

19.2 基礎 339

19.2.1 一個視覺模式分類器的設計和實現 339

19.2.2 模式和模式類 341

19.2.3 數據預處理 342

19.2.4 訓練和測試集 342

19.2.5 混淆矩陣 343

19.2.6 系統誤差 343

19.2.7 命中率,虛警率,ROC曲線 343

19.2.8 查準率和查全率 344

19.2.9 距離和相似性測度 346

19.3 統計模式分類技術 347

19.3.1 最小距離分類器 348

19.3.2 k-最近鄰分類器 349

19.3.3 貝葉斯分類器 349

19.4 教程19.1:模式分類 350

19.5 練習題 355

第2部分?視 頻 處 理

第20章 視頻基礎 359

20.1 基本概念和術語 359

20.2 單色模擬視頻 363

20.2.1 模擬視頻光柵 363

20.2.2 消隱區間 364

20.2.3 同步信號 364

20.2.4 複合單色模擬視頻的頻譜內容 365

20.3 視頻中的彩色 365

20.4 模擬視頻標準 367

20.4.1 NTSC 367

20.4.2 PAL 368

20.4.3 SECAM 368

20.4.4 HDTV 368

20.5 數字視頻基礎 369

20.5.1 數字視頻的優點 369

20.5.2 一個數字視頻序列的參數 370

20.5.3 音頻分量 370

20.6 模-數轉換 371

20.7 彩色表達和色度亞採樣 373

20.8 數字視頻格式和標準 374

20.8.1 Rec.601數字視頻格式 374

20.8.2 常用中間格式 376

20.8.3 源中間格式 376

20.9 視頻壓縮技術和標準 376

20.10 在MATLAB中的視頻處理 378

20.10.1 讀取視頻檔案 378

20.10.2 處理視頻檔案 378

20.10.3 播放視頻檔案 379

20.10.4 編寫視頻檔案 379

20.11 教程20.1:MATLAB中的基本數字視頻操作 379

20.12 教程20.2:使用YUV視頻數據 383

20.13 練習題 387

第21章 視頻採樣率和標準轉換 389

21.1 視頻採樣 389

21.2 採樣率轉換 389

21.3 標準轉換 390

21.3.1 去隔行 390

21.3.2 PAL和NTSC信號間的轉換 391

21.3.3 彩色空間轉換 392

21.3.4 寬高比轉換 393

21.3.5 3﹕2下拉 393

21.4 教程21.1:行下轉換 394

21.5 教程21.2:去隔行 395

21.6 教程21.3:從NTSC到PAL的轉換 400

21.7 教程21.4:3﹕2下拉 401

21.8 練習題 402

第22章 數字視頻處理技術和套用 403

22.1 運動估計和運動補償基礎 403

22.2 運動估計的一般方法 405

22.2.1 運動表達 406

22.2.2 運動估計準則 406

22.2.3 最佳化方法 407

22.3 運動估計算法 407

22.3.1 窮舉搜尋塊匹配算法 407

22.3.2 快速算法 409

22.3.3 分層塊匹配算法 410

22.3.4 相位關聯方法 411

22.4 視頻增強和降噪 411

22.4.1 視頻降噪 411

22.4.2 幀間濾波技術 412

22.5 案例研究:複雜背景中的目標分割和跟蹤 413

22.6 教程22.1:基於塊的運動估計 415

22.7 教程22.2:幀內和幀間濾波技術 419

22.8 練習題 422

附錄A 人類視覺感知 423

A.1 介紹 423

A.2 人眼 423

A.3 人類視覺的特性 426

A.3.1 解析度、觀察距離和觀察角 426

A.3.2 細節和銳度感知 429

A.3.3 光學轉移函式和調製轉移函式 429

A.3.4 亮度感知 429

A.3.5 對比度和對比敏感度函式 431

A.3.6 運動感知 432

A.3.7 時空解析度和頻率回響 433

A.3.8 掩膜 434

A.4 關於人類視覺系統知識的意義和套用 435

附錄B 圖形用戶界面開發 437

B.1 介紹 437

B.2 GUI檔案結構 437

B.3 傳遞系統控制 438

B.4 UserData目標 440

B.5 一個工作的GUI演示 441

B.6 結束語 442

參考文獻 443

索引 450

前言

譯 者 序

本書是一本介紹圖像和視頻處理技術並輔以MATLAB算法實現的書籍。目前介紹圖像處理的書籍很多,也有一些介紹視頻處理的書籍,但將兩者結合在一本書中的還不太多。視頻處理是對圖像處理的一種擴展,近年來視頻的廣泛套用也促進了圖像技術的推廣。另外,學習圖像和視頻處理技術除了要理解原理,對算法進行實現也很重要。這一方面可幫助讀者進一步理解原理,另一方面也有助於藉助圖像和視頻處理技術解決實際問題。MATLAB是面向科學和工程計算的軟體平台,用其來展示現圖像和視頻處理技術既方便又實用。

本書是作為一本實用教材來編寫的,沒有過多地介紹圖像和視頻處理技術中的數學公式,而是注重方法的概念和算法的效果。全書每章都以“將學習什麼?”開始,介紹本章要分析的主要問題;每章末尾都有“學到了什麼?”,總結歸納該章的要點。大多數章在介紹圖像和視頻處理技術後,還提供了相應的MATLAB教程,以一步一步引導讀者實現相應技術的算法,並且可以看到處理的結果。另外,每章都有“了解更多”,給出深入學習或套用的參考(很多章還提供了相應的網站或網頁,可以獲得更新的 信息)。

本書從結構上看,共有22章和兩個附錄。全書共有編了號的圖323個、表格35個、公式284個,練習題114個。另外還有插圖列表、表格列表、參考文獻目錄和索引術語。全書譯成中文約合747千字。本書可作為相關專業本科生和其他專業研究生學習圖像技術的課程教材,也可供從事相關領域科技開發和套用的技術人員自學參考。

本書的翻譯基本忠實於原來的結構和文字風格。根據中文書籍規範,將序言、前言、致謝、插圖列表和表格列表均移到目錄前。另外,對原書的索引,考慮中文習慣進行了一些調整,並重新按中文次序進行了排列,以方便使用。

本書作者將全書分為了兩個單元:圖像處理(第1~19章)和視頻處理(第20~22章)。據譯者從教學角度看,似可分為4個部分:(1)基礎概述(包括第1、2、3、4章),(2)圖像處理(包括第5、6、7、8、9、10、11、12、16、17章),(3)圖像分析(包括第13、14、15、18、19章),(4)視頻處理(包括第20、21、22章)。可使用前兩部分作為一門40~48學時的入門圖像技術課程的教材,而使用後兩部分作為一門30~36學時的後續圖像技術課程的教材。

感謝清華大學出版社編輯的精心組稿、認真審閱和細心修改。

最後,作者感謝妻子何芸、女兒章荷銘以及父母家人在各方面的理解和支持。

序 言

今年早些時候,在為辦公室搬遷而打包時,我震驚地發現我的很多書(很多情況下是出版商免費送給我用於評估和潛在用途的)都是仿製品:書中的材料都是從多年甚至幾十年前的教材中綜合和重新包裝而來的。Oge Marque的這本書不是仿製品,儘管其許多題材已經存在多年了。她包含經過深思熟慮而彙編出來的材料,與當今成像科學、成像技術、圖像理解,尤其是圖像處理的學生非常相關。

成像是我主要的專業領域。我對這本書很感興趣,因為成像和圖像處理近年來共同發展。一些成像的方式(計算成像是首先想到的流行語)假定將有(事實上必須)對由感測器系統所收集原始信息的後檢測處理。確實,如果沒有關鍵的後處理操作,感測器可能給出對觀察者很少或根本沒有意義的輸出。

歸根結底,圖像處理在商業化的大規模生產系統中是由特殊的硬體實現的。而在一個成像系統的研究和開發階段,處理幾乎都是使用MATLAB來實現的。Marque的這本書通過直接將所描述的許多處理操作與MATLAB相聯繫來解決這個問題。

已有大量的文本介紹數字圖像處理操作和算法。但是,沒有一本書像這本書所做的那樣強調人類視覺系統以及它與機器視覺系統之間的相互作用和相互比較。

該書包括豐富的實用材料和一個最新的寶貴參考文獻列表,其中有雜誌、期刊和網站。我希望看到該書的再版中還有對應的更新列表。對教師有價值的還有她包含許多現代教材所具有的特徵,簡潔的各章摘要回答了“學到了什麼?”的問題。教程圈點文字,引導學生以一個主動學習的過程來了解重要的材料。

我寫這個序言不僅是因為我認為這本書很好地考慮了其所預期的圖像處理讀者,而且因為我看到它影響了我自己學生的思維,這些學生從物理和技術的角度對成像系統感興趣,但他們必須理解成像系統和圖像處理系統之間的聯繫。

William T. RHODES是喬治理工學院電氣和計算機工程榮譽退休教授。他在2005年加入了佛羅里達大西洋大學電氣工程學院並成為學校成像技術中心的副主任。他是美國光學工程學會和國際光學工程協會的會員,斯普林格光學科學系列的主編和線上刊物“SPIE評論”的主編。

前言

在三十多年中,使用計算機來仿真人類視覺系統某些屬性的前景一直讓科學家、工程師和數學家感興趣,使得圖像處理成為套用計算機科學研究中發展最快的領域之一。在過去的15年中,圖像和視頻處理的領域經歷了巨大的增長並變得更流行和方便。這種增長由若干個因素所驅動:廣泛使用和價格相對低廉的硬體;各種圖像和視頻編輯、操作和處理的軟體工具;網路的流行和它對視覺信息的高度重視,這是對使用過時膠片相機攝影的一次真正革命;電影工業的發展,以及人們觀看、記錄、分享電視節目和視頻短片方式的突破性變化。

方法/方式

本書對圖像和視頻處理中最重要的主題提供了一個實用的介紹,並使用MATLAB(和它的圖像處理工具箱)作為工具來展示相關技術和算法。“實用”一詞在書名中出現並不是指覆蓋了這些領域中最新的消費類電子產品;這方面的知識充其量是膚淺的且將在本書出版後不久(甚至在此之前!)被淘汰。“實用”一詞應該被解讀為“讓讀者/學生藉助從書中獲得的知識來制定切實可行的項目,即工作原型”。它還有另一個含義,就是採用“剛剛足夠的數學”理念,即更關注書中所描述技術的計算、算法和概念內容,而不是過度的數學形式主義。

因此,本書不僅適合其原有的目標客群作為教材使用(如計算機科學、計算機工程、電子工程和相關課程的高年級本科和低年級研究生),而且也適合使用MATLAB,具有堅實的計算和編程技能,且希望自學圖像和視頻處理基礎的研究者和實踐者。

本書主要特點

* 是將圖像處理、視頻處理以及面向MATLAB的對圖像和視頻算法和技術進行試驗相結合的第一本書。

* 對圖像和視頻處理技術基本主題的全面、最新、技術上準確和實用的覆蓋。

* 37個MATLAB教程可用來作為個人使用MATLAB探究圖像和視頻處理技術的逐步指南,也可用來由使用本書的教師作為課程的實驗室作業。

* 為說明和總結文中描述的主要技術和概念,使用了330多幅圖片和30個表格。

* 本書採用了“剛剛足夠的數學”理念。許多學生害怕面對非常強調技術的數學方面的圖像和視頻處理書籍。本書通過在不犧牲解釋的完整性條件下僅提供能完全理解一個技術所需的最少量的數學來解決這個問題。

* 本書強調並鼓勵實際的實驗。在介紹了一個主題後,邀請讀者自己操作,從而增強和拓展他們剛學習過的東西並在相同主題下探索新的路徑。

* 本書被設計來回答第一次接觸這個主題的學生/讀者可能提出的最基本問題。它基於我講授圖像和視頻處理20年的經歷/經驗以及一路獲得的見解/理解。

* 本書包括許多增強對其主題理解的額外特徵(並允許讀者更多地學習它們),如練習題和程式設計項目、有用的網站,以及在各章結束處的詳盡參考文獻列表。

全書一覽

本書組織成兩個部分:圖像處理和視頻處理。

第1部分(圖像處理)從對領域的介紹和概述開始(第1章),希望激勵學生對其餘章節的材料貢獻時間和精力。第2章介紹與圖像表達和圖像處理操作相關的基本概念、符號和術語。第3章和第4章分別介紹MATLAB和它的圖像處理工具箱,並從此開始構建一系列在其末尾以逐步教程為方式介紹實踐活動的章(除第5章)。第5章討論在圖像採集和數位化中涉及的因素。第6章介紹算術和邏輯操作並介紹感興趣區域(ROI)的處理。第7章介紹幾何操作,如大小調整、旋轉、剪下和扭曲。第8章~第10章致力於基於點(第8章),基於直方圖(第9章)和基於鄰域(第10章)的圖像增強技術。第11章將圖像處理操作擴展到頻率域並介紹傅立葉變換和相關的頻域圖像濾波技術。對圖像恢復問題(特別是有噪聲和模糊時)的解決在第12章中討論。第13章詳細介紹了數學形態學和它在圖像處理中的套用。第14章致力於邊緣檢測技術。第15章覆蓋圖像分割。第16章從灰度圖像轉到彩色圖像,介紹有代表性的彩色圖像處理技術和算法。圖像壓縮和編碼,包括最現代和相關的標準是第17章的內容。第18章考察特徵提取和表達問題,並自然地引到第19章,所得到的特徵矢量在那裡可用於分類和識別目的。

第2部分(視頻處理)從介紹與模擬視頻和系統以及數字視頻格式和標準的主要概念和術語開始(第20章)。它接下來描述在標準之間轉換而出現的技術問題(第21章)。第22章討論運動估計和補償技術,展示如何可濾波視頻序列,並用一個使用MATLAB解決在視頻序列中目標檢測和跟蹤問題的簡單例子來結束。

本書包括兩個附錄。附錄A選擇一些在設計圖像和視頻處理系統中起作用的人類視覺系統特性。附錄B提供一個有關在MATLAB中如何開發圖形用戶界面(GUI)的教程。

教師注意事項

本書可用於一個或兩個學期的高年級本科生或研究生入門的圖像和視頻處理課程。本書中的大多數材料已經在過去20年裡很多這樣的課程中檢驗過。下面是對採用本教材教師的建議總匯。

第1部分圍繞一個典型的機器視覺系統進行組織,從圖像採集到模式識別。第1部分中的所有章(除第16章和第17章)遵循一個自然的順序,它覆蓋了在圖像採集、對它們預處理以消除缺陷或改進它們的性質,分割它們為感興趣的目標,提取目標特徵,以及將目標劃分到不同類型中的所有步驟。第1章的目標是提供可以用圖像處理算法獲得的有廣度和遠景的初步示例,以及構成一個機器視覺系統的系統性觀點。有些教師可能希望將這些信息與第2章的材料結合起來作為在該課程早期介紹的主題。

來自第3章和第4章的材料經過細心選擇以使本書自成一體,它們給學生提供了學習MATLAB和圖像處理工具箱教程所有可能會需要的信息。讀者在其後課程中需要與MATLAB相關的幫助還可以參考這兩章。只有有限教學時間的教師可以選擇僅僅簡短地概述這兩章,布置對應的教程,並通過讓學生學習教程並回答相關問題來監控其學習進度。

第5章簡潔地介紹圖像感知和採集的主題。它的主要目標是用把一個三維(3-D)真實世界場景轉換為一個二維(2-D)數字版本的信息來裝備讀者。非常強調圖像捕獲和採集硬體的課程教師可以用詳細的參考文獻(如關於在可見光譜外工作的感測器、立體視覺相機、相機校正,以及很多其他主題)補充那裡的材料。

第6章~第10章很簡單明了地涵蓋了任何圖像處理課程中的基本主題。它們還為感興趣的討論、實驗室作業和小的項目提供了很多空間。

第11章對某些學生有點挑戰,這源自與傅立葉變換相關的數學推導。教師可以使用那章介紹的MATLAB互動頻域演示(fddemo),它是一個培養學生對頻域濾波技術基本概念的理解信心的有價值工具。第12章構建在第10章和第11章的知識基礎上,它聚焦於噪聲消除和去模糊技術。有些教師可以選擇淡化對噪聲模型(12.1節和12.2節)的討論,而較早地介紹在12.3節~12.5節中描述的空域和頻域濾波技術的套用。

第13章自成一體,它給了教師調整層次(從完全跳過它到詳細介紹它)而不會對課程中其他主題產生重要影響的靈活性。

第14章和第15章介紹了任何圖像處理課程中的兩個基本主題。希望在課程里較早介紹其中部分內容或以不同順序介紹的教師應該可以方便地提取相關的節並將它們移動到不同的時間點。

第16章包含彩色圖像處理的信息,且以某種形式與先前的章(特別地與那些有關增強、分割和邊緣提取的章)相聯繫。保持彩色於一個分離的章中而不是將彩色圖像處理分布在文本的各處是一個有意識的決定。相信當讀者接觸到第16章時,他們將能很容易地瀏覽其中的內容並將注意力放在他們早期從灰度圖像中學到的東西與在彩色圖像中對應東西的區別上。不同意這個觀點的教師可以很容易地將第16章的相應節移提前介紹。

第17章考慮圖像壓縮和編碼,它們是非常廣泛和技術上複雜的主題,有些書籍整本都介紹它們。因為本書關注的是使用MATLAB來構建實用的圖像處理和機器視覺解決方案,所以將從一個較寬的角度(當今使用的標準、壓縮技術的分類和它們的主要特性,等等)來考慮而不試圖對這些主題進行深入討論,因為那樣有可能分散注意力而沒有多少意義。從務實的角度來看,因為讀者的目標是使用MATLAB來處理圖像和利用它從很多格式(大多數使用某種形式的壓縮)讀取和寫入圖像的能力,所以本書關注的是如何以有意義的方式使用這些能力。教師可以根據其目標用不同的方式進行,從用更多的參考文獻擴展第17章(如果圖像編碼和壓縮是課程教學大綱的重要部分)到將整章跳過(如果課程的主要目標是對一個實際問題構建機器視覺方案,其中可能不需要這種類型的知識)。

第18章和第19章緊密聯繫。它們提供了設計和實現圖像處理和機器視覺方案時最關鍵階段中兩個方面的信息:特徵提取和模式分類。依賴於圖像的種類和所設計方案的特殊需求,第18章給出了特徵提取和表達技術的廣泛選擇。教師可能會對第19章為所有學生所提供的從相關模式識別、數據挖掘和信息檢索領域需要的基本概念感到滿意而不需要另外的參考文獻。如果課程不對任何這些領域有先修的要求,這點就尤為重要。在第19章結尾的教程是根據對第18章和第19章所介紹算法的選擇、設計和微調來構建的。希望在學習到本書的這個位置時,學生不僅流暢掌握了MATLAB和圖像處理而且獲得了回過頭來批判地反思什麼可以工作,什麼不能工作,以及為什麼的能力。

第2部分組織成3章,可以用在一個或兩個學期(結合圖像和視頻處理)課程的後段或在專門涉及視頻處理課程的前端。在後一種情況下,教師可以用附加的文獻(如對研究生層次課程,視頻處理的學術文章和相關主題)對第2部分的材料進行補充。

第20章涵蓋了廣泛的主題,從基本的模擬視頻概念到數字視頻標準和編解碼器。它提供了在多個方向擴展的空間,從更深入地學習電視廣播系統到更詳細的分析現代視頻壓縮框架和標準。第21章涵蓋了標準轉換的主題,並討論實現它們的最流行技術。第22章將討論擴展到包括運動估計和補償,以及(幀內和幀間)視頻濾波技術。它以一個用MATLAB實現的實用項目結尾,該項目是由我從前的一位學生完成的:在一個用固定的相機獲得且具有複雜運動背景的視頻序列中進行目標檢測和跟蹤的系統。將這個案例研究包括在內的目的是總結第2部分(和全書)的討論,提醒讀者在此時他們將應該具有足夠的知識以完成類似的項目(教師可在課程結束項目中布置)。

在附錄A中的材料與圖像和視頻處理系統非常相關,因為它解釋了人類視覺系統特性與其在構建相似系統的設計決策中影響的聯繫。教師也可考慮將它(或部分)在課程的更早階段介紹。

附錄B是一個對開發MATLAB套用GUI的實用指導。它應該能讓學生在它們的MATLAB項目中開發視覺上吸引人、具有互動性和功能性的界面。

還有一個對MATLAB和章末教程的註解。使用MATLAB(和它的特性處理工具箱)十多年後,我完全同意Rudra Pratap [Pra02]所寫的話,“MATLAB的易用性是它的主要特徵”。MATLAB有一個平緩的學習曲線,允許用戶加入到一個互動學習的方式中,在一定程度上提升用戶正確應對挑戰的技能,並逐步提高。本書中所包含的MATLAB教程也是在這個理念下構思的。

網站

本書配套包含很多為學生和教師準備的補充材料:書中所有MATLAB教程的代碼,所選圖片的MATLAB代碼,測試圖像和視頻序列,補充問題,教程和項目(不能製成印刷版),以及一個不斷增長和經常維護的網站名單,包括圖像處理會議、軟體、硬體、研究團體、測試圖像庫以及更多內容(的連結)。

我深深地感謝許多為此項目(直接或間接)合作過的人。這本書沒有他們的幫助是不可能完成的。

我希望感謝許多在圖像和視頻處理以及相關領域給我以指導的教授、導師和同事,特別是Maria G. Te Vaarwerk、Wim Hoeks、Bart de Greef、Eric Persoon、John Bernsen、Borko Furht和Bob Cooper。

特別感謝我的朋友和同事Hugo Vieira Neto,他在該項目中從早期規劃階段到完成都給予了極大的支持。

我深深感謝Gustavo Benvenutti Borba在創建這本書中大部分圖片中的出色工作,他有見地的評論和意見、持續的鼓勵,以及很多小時的時間投入是不能用僅若干行的感謝所回報的。

還要感謝Liam M. Mayron在這個項目所有步驟中的鼓勵、支持和專業幫助。

這本書沒有Jeremy Jacob的寶貴貢獻將不能出版,他編寫、修訂並記錄了書和教程中相關的MATLAB代碼,並貢獻了附錄B中的內容。

相關詞條

熱門詞條

聯絡我們