編輯推薦
《精通VisualC++數字圖像處理典型算法及實現》(第2版)內容豐富,敘述詳細,實用性強,適合於數字圖像處理工作者閱讀參考。
目錄
第1章 VisualC++數字圖像編程基礎 1
1.1 數字圖像處理概述 1
1.2 圖像和調色板 2
1.2.1 圖像 2
1.2.2 調色板 3
1.2.3 色彩系統 4
1.2.4 灰度圖 5
1.3 GDI點陣圖 5
1.3.1 從資源中裝入GDI點陣圖 6
1.3.2 伸縮點陣圖 8
1.4 與設備相關點陣圖 10
1.5 設備無關點陣圖(DIB) 15
1.5.1 BMP檔案中DIB的結構 16
1.5.2 DIB訪問函式 18
1.5.3 構造DIB類 22
1.5.4 使用DIB讀寫BMP檔案示例 33
第2章 圖像感知與獲取 45
2.1 視覺基礎 45
2.1.1 視覺系統 45
2.1.2 視覺模型 47
2.2 圖像獲取 48
2.3 圖像採樣 50
2.3.1 確定性圖像場抽樣 50
2.3.2 隨機圖像取樣 52
2.4 量化 53
2.5 圖像顯示 57
2.5.1 圖案法顯示 58
2.5.2 圖案法顯示圖像的VisualC++實現 59
2.5.3 隨機抖動法顯示圖像 62
2.5.4 隨機抖動法顯示圖像的VisualC++實現 63
第3章 圖像的點運算 67
3.1灰度直方圖67
3.1.1 灰度直方圖的定義 67
3.1.2 編程繪製灰度直方圖 69
3.2 灰度的線性變換 77
3.2.1 功能與效果 77
3.2.2 原理與算法 77
3.2.3 VisualC++編程實現 77
3.3 灰度的閾值變換 89
3.3.1 功能與效果 89
3.3.2 原理與算法 90
3.3.3 VisualC++編程實現 90
3.4 灰度的視窗變換 96
3.4.1 功能與效果 96
3.4.2 原理與算法 97
3.4.3 VisualC++編程實現 97
3.5 灰度拉伸 106
3.5.1 功能與效果 106
3.5.2 原理與算法 106
3.5.3 VisualC++編程實現 106
3.6 灰度均衡 117
3.6.1 功能與效果 117
3.6.2 原理與算法 117
3.6.3 VisualC++編程實現 118
第4章 圖像的幾何變換 121
4.1 圖像的平移 121
4.1.1 功能與效果 121
4.1.2 原理與算法 122
4.1.3 VisualC++編程實現 124
4.2 圖像的鏡像變換 130
4.2.1 功能與效果 130
4.2.2 原理與算法 130
4.2.3 VisualC++編程實現 132
4.3 圖像的轉置 135
4.3.1 功能與效果 135
4.3.2 原理與算法 136
4.3.3 VisualC++編程實現 136
4.4 圖像的縮放 139
4.4.1 功能與效果 139
4.4.2 原理與算法 139
4.4.3 VisualC++編程實現 140
4.5 圖像的旋轉 144
4.5.1 功能與效果 144
4.5.2 原理與算法 145
4.5.3 VisualC++編程實現 147
4.6 插值算法簡介 153
4.6.1 最鄰近插值 153
4.6.2雙線性插值153
4.6.3 高階插值 158
第5章 圖像的正交變換 159
5.1 傅立葉變換 159
5.1.1 傅立葉變換的基本概念 159
5.1.2 傅立葉變換的性質 160
5.1.3 離散傅立葉變換 162
5.1.4 離散傅立葉變換的性質 164
5.1.5 快速傅立葉變換 167
5.1.6 VisualC++編程實現圖像傅立葉變換 174
5.2 離散餘弦變換 180
5.2.1 功能和效果 180
5.2.2 原理和算法 180
5.2.3 VisualC++編程實現圖像離散餘弦變換 183
5.3沃爾什變換189
5.3.1 沃爾什函式 189
5.3.2 沃爾什變換 191
5.3.3 離散沃爾什-哈達瑪變換 192
5.3.4 快速沃爾什-哈達瑪變換 192
5.3.5 VisualC++編程實現圖像沃爾什-哈達瑪變換 196
5.4 基於特徵向量的變換 203
5.4.1 特徵分析 203
5.4.2 主向量分析(PCA) 204
5.4.3 霍特林(Hotelling)變換 204
5.4.4 SVD變換 205
5.4.5 霍特林變換的VisualC++實現 207
5.5 小波變換 217
5.5.1 連續小波變換 218
5.5.2 離散小波變換 220
5.5.3 二進小波變換 220
5.5.4 小波變換的多解析度分析 221
5.5.5 Mallat算法 222
5.5.6 小波變換的VisualC++實現 224
第6章 圖像的增強 236
6.1 圖像的灰度修正 237
6.2 模板操作 237
6.3 圖像的平滑 240
6.3.1 功能與效果 240
6.3.2 原理與算法 240
6.3.3 VisualC++編程實現 241
6.4 中值濾波 248
6.4.1 功能與效果 248
6.4.2 原理與算法 248
6.4.3 VisualC++編程實現 249
6.5 圖像的銳化 256
6.5.1 梯度銳化 256
6.5.2 拉普拉斯銳化 261
6.5.3 高通濾波器 264
6.6 偽彩色和假彩色增強 267
6.6.1 偽彩色和假彩色增強技術 267
6.6.2 VisualC++編程實現 268
第7章 數字圖像腐蝕、膨脹和細化算法 275
7.1 數學形態學 275
7.1.1 什麼是數學形態學 275
7.1.2 數學形態學中的基本符號和術語 276
7.2 圖像腐蝕(Erosion) 278
7.2.1 功能與效果 278
7.2.2 原理與算法 279
7.2.3 VisualC++編程實現 282
7.3 圖像膨脹(Dilation) 290
7.3.1 功能和效果 290
7.3.2 原理和算法 290
7.3.3 腐蝕和膨脹的代數性質 292
7.3.4 VisualC++編程實現 293
7.4 開(Open)運算和閉(Close)運算 300
7.4.1 功能和效果 300
7.4.2 原理和算法 302
7.4.3 開、閉運算的代數性質 305
7.4.4 VisualC++編程實現 306
7.5 數學形態學的其他運算 317
7.5.1 擊中/擊不中(Hit/Miss)變換 317
7.5.2 細化(Thinning) 319
7.5.3 VisualC++編程實現 320
第8章圖像邊緣檢測、提取及輪廓跟蹤 325
8.1 邊緣檢測 325
8.1.1 功能與效果 325
8.1.2 原理和算法 328
8.1.3 VisualC++編程實現 330
8.2 Hough變換 348
8.2.1 功能與效果 348
8.2.2 原理和算法 348
8.2.3 Hough變換的VisualC++編程實現 350
8.3 輪廓提取與輪廓跟蹤 355
8.3.1 功能與效果 355
8.3.2 原理和算法 356
8.3.3 輪廓提取與跟蹤的VisualC++編程實現 357
8.4 種子填充 362
8.4.1 功能與效果 362
8.4.2 原理和算法 363
8.4.3 種子填充的VisualC++編程實現 366
第9章 圖像分割 374
9.1 圖像分割研究 375
9.1.1 圖像分割定義 375
9.1.2 圖像分割的方法 375
9.2 並行邊界分割 376
9.2.1 邊界檢測的數學基礎 377
9.2.2 數字圖像的邊界檢測 378
9.2.3 並行邊界分割的VisualC++實現 380
9.3 串列邊界分割 395
9.3.1 邊界跟蹤 395
9.3.2 邊界跟蹤的VisualC++實現 396
9.4 並行區域分割 400
9.4.1 閾值分割 400
9.4.2 自適應閾值選取 402
9.4.3 閾值分割的VisualC++實現 402
9.5 串列區域分割 409
9.5.1區域生長409
9.5.2 分裂合併 410
9.5.3 區域生長的VisualC++實現 410
9.6canny運算元 414
9.6.1CANNY運算元介紹 414
9.6.2 Canny運算元的VisualC++實現 415
第10章 圖像配準 430
10.1 圖像配準理論基礎 431
10.1.1 圖像變換 431
10.1.2 相似性測度 432
10.1.3 插值 433
10.1.4 最小二乘法 434
10.2 圖像配準中常用的技術 434
10.2.1 點映射 435
10.2.2 基於彈性模型的匹配 435
10.2.3 特徵空間的選擇 436
10.2.4 相似性測度的選擇 436
10.2.5 搜尋空間和策略的選擇 436
10.3 VisualC++編程實現圖像配準 437
第11章 圖像復原 469
11.1 圖像退化的數學模型 469
11.1.1 退化系統的基本定義 470
11.1.2 連續函式的退化模型 470
11.1.3離散函式的退化模型 471
11.2 運動模糊圖像復原 474
11.2.1 由勻速直線運動引起的圖像模糊 474
11.2.2 運動模糊圖像復原的VisualC++實現 476
11.3 非約束復原484
11.3.1 非約束復原的基本方法 484
11.3.2 逆濾波復原 485
11.3.3 逆濾波復原的VisualC++實現 485
11.3.4 維納濾波方法 494
11.3.5 維納濾波的VisualC++實現 495
11.4 約束復原 504
第12章 圖像壓縮編碼 505
12.1 圖像壓縮編碼理論基礎505
12.2 圖像編碼分類 508
12.3 霍夫曼(Huffman)編碼 509
12.3.1 霍夫曼編碼理論及算法 509
12.3.2 霍夫曼編碼的VisualC++實現 510
12.4 香農-費諾(Shannon-Fano)編碼 519
12.4.1 香農-費諾編碼的理論及算法 519
12.4.2 香農-費諾編碼的VisualC++實現 519
12.5 算術編碼 529
12.5.1 算術編碼的理論及算法 530
12.5.2 算術編碼的VisualC++實現 532
12.6 遊程編碼(RunLengthCoding) 539
12.6.1 基本原理 539
12.6.2PCX檔案格式及其編碼方法 540
12.6.3 編程實現PCX檔案格式的讀寫 541
12.7位平面編碼541
12.7.1 位編碼理論 541
12.7.2 位平面編碼的VisualC++實現 543
12.8 預測編碼 546
12.8.1dpcm的基本原理 546
12.8.2 預測編碼的類型 547
12.8.3 預測編碼的VisualC++實現 548
12.9 JPEG2000編碼 559
12.9.1 JPEG2000概述 560
12.9.2 JPEG2000圖像編解碼系統 561
12.9.3 JPEG2000圖像壓縮碼流格式 565
……