內容簡介
《Visual C++數字圖像處理技術詳解》以數字圖像處理技術為主線,全面地介紹在Visual C++環境下進行數字圖像處理程式設計的方法。內容涵蓋了數字圖像的變換、增強、復原、重建、形態學處理、分割、匹配、壓縮編碼、特效處理等,各種方法均給出基本原理、典型算法、Visual C++源碼及綜合套用案例。同時,《Visual C++數字圖像處理技術詳解》還介紹了Visual C++與VTK、OpenCV和MATLAB等開發平台相結合進行數字圖像處理的程式設計技術。
《Visual C++數字圖像處理技術詳解》內容全面,講解深入淺出,層次分明,注重知識的系統性、針對性和先進性,注重理論結合實踐,培養工程套用能力。另外,《Visual C++數字圖像處理技術詳解》配套光碟中有綜合實例的完整源程式,便於學習和在實際開發中使用。
《Visual C++數字圖像處理技術詳解》適合作為數字圖像處理與分析、計算機視覺和多媒體信息處理等相關領域的研究人員、工程技術人員、教師和學生的技術參考手冊,也適合作為數字圖像處理程式設計初學者的教材。
目錄
前言
第一篇 數字圖像處理編程基礎
第1章 Visual C++圖像處理基礎
1.1 visual C++概述
1.2 數字圖像處理的研究內容及套用領域
1.3 顏色模式和調色板
1.3.1 顏色模式
1.3.2 Windows調色板
1.4 數字圖像檔案格式
1.4.1 BMP檔案格式
1.4.2 其他檔案格式
1.5 使用visual C++處理數字圖像的基本方法
1.5.1 使用GDI+處理數字圖像
1.5.2 使用DIB處理數字圖像
1.5.3 使用自定義類CDib處理數字圖像
1.6 綜合實例——圖像瀏覽器
1.7 實踐拓展
第二篇 數字圖像處理核心技術
第2章 圖像幾何變換
2.1 圖像位置變換
2.1.1 圖像平移
2.1.2 圖像旋轉
2.1.3 圖像鏡像
2.1.4 圖像轉置
2.2 圖像尺度變換
2.2.1 圖像縮放
2.2.2 插值算法
2.3 綜合實例——魔鏡
2.4 實踐拓展
第3章 圖像正交變換
3.1 基本正交變換
3.1.1 離散傅立葉變換
3.1.2 離散餘弦變換
3.1.3 離散沃爾什變換
3.2 特徵變換
3.2.1 K-L變換
3.2.2 SVD變換
3.2.3 小波變換
3.3 綜合實例——特徵提取
3.4 實踐拓展
第4章 圖像增強
4.1 灰度變換增強
4.1.1 線性灰度增強
4.1.2 分段線性灰度增強
4.1.3 非線性灰度增強
4.2 直方圖增強
4.2.1 直方圖統計
4.2.2 直方圖均衡化
4.2.3 直方圖規定化
4.3 圖像平滑
4.3.1 鄰域平均法
4.3.2 加權平均法
4.3.3 選擇式掩膜平滑
4.3.4 中值濾波法
4.4 圖像銳化
4.4.1 梯度銳化
4.4.2 拉普拉斯掩膜銳化
4.5 頻域增強
4.5.1 低通濾波
4.5.2 高通濾波
4.5.3 帶阻濾波
4.5.4 同態濾波
4.6 彩色增強
4.6.1 真彩色增強
4.6.2 假彩色增強
4.6.3 偽彩色增強
4.7 綜合實例——照片處理器
4.8 實踐拓展
第5章 圖像復原
5.1 圖像退化模型
5.2 線性復原
5.2.1 無約束逆濾波
5.2.2 有約束維納濾波
5.2.3 有約束最小平方濾波
5.2.4 運動模糊圖像復原
5.3 非線性復原
5.3.1 最大後驗復原
5.3.2 最大熵復原
5.3.3 投影復原
5.4 盲目復原與幾何復原
5.4.1 盲目圖像復原
5.4.2 圖像幾何畸變的校正
5.5 綜合實例——模糊照片復原
5.6 實踐拓展
第6章 圖像重建
6.1 圖像重建與可視化工具VTK
6.1.1 圖像重建
6.1.2 可視化工具VTK
6.2 VTK的安裝與配置
6.2.1 安裝前的準備
6.2.2 開始實施安裝
6.2.3 Visual Studio 2005環境的配置
6.2.4 測試開發環境
6.3 傳統重建算法
6.3.1 傅立葉反投影重建
6.3.2 卷積反投影重建
6.3.3 代數重建
6.3.4 超解析度重建
6.4 三維重建數據可視化
6.4.1 三維圖像的面繪製
6.4.2 三維圖像的體繪製
6.5 綜合實例——CT圖像重建
6.6 實踐拓展
第7章 形態學處理
7.1 形態學基本概念
7.2 二值圖像形態學處理
7.2.1 圖像腐蝕
7.2.2 圖像膨脹
7.2 -3開運算和閉運算
7.2.4 擊中擊不中變換
7.2.5 骨架提取
7.3 灰度圖像形態學處理
7.3.1 灰值腐蝕和膨脹
7.3.2 灰值開運算和閉運算
7.3.3 灰值形態學梯度
7.3.4 Top-Hat變換
7.4 綜合實例——白細胞檢測
7.5 實踐拓展
第8章 圖像分割
8.1 邊緣檢測法
8.1.1 Roberts運算元
8.1.2 Sobel運算元
8.1.3 Prewitt運算元
8.1.4 Krisch運算元
8.1.5 Laplacian運算元
8.1.6 Gauss-Laplacian運算元
8.2 閾值分割法
8.2.1 最大方差閾值分割
8.2.2 自適應閾值分割
8.3 邊界分割法
8.3.1 輪廓提取
8.3.2 邊界跟蹤
8.4 其他分割法
8.4.1 區域生長法
8.4.2 彩色分割法
8.4.3 分水嶺分割法
8.4.4 水平集分割法
8.5 綜合實例——指紋提取
8.6 實踐拓展
第9章 圖像匹配
9.1 基於像素的匹配
9.1.1 歸一化積相關灰度匹配
9.1.2 序貫相似性檢測法匹配
9.2 基於特徵的匹配
9.2.1 不變矩匹配法
9.2.2 距離變換匹配法
9.2.3 最小均方誤差匹配法
9.3 綜合實例——遙感圖像匹配
9.4 實踐拓展
第三篇 數字圖像媒體處理技術
第10章 圖像壓縮編碼
10.1 無損壓縮
10.1.1 Huffman編碼
10.1.2 Shannon-Fano編碼
10.1.3 算術編碼
10.1.4 遊程編碼
10.1.5 線性預測編碼
10.1.6 位平面編碼
10.2 有損壓縮
10.2.1 有損預測編碼
10.2.2 變換編碼
10.3 JPEG 2000編碼
10.3.1 JPEG 2000概述
10.3.2 JPEG 2000編碼過程
10.3.3 JPEG 2000圖像壓縮碼流格式
10.4 綜合實例——圖像編碼解碼器
10.5 實踐拓展
第11章 圖像特效
11.1 顯示特效
11.1.1 掃描特效
11.1.2 移動特效
11.1.3 百葉窗特效
11.1.4 柵條特效
11.1.5 馬賽克特效
11.1.6 雨滴特效
11.2 濾鏡效果
11.2.1 底片效果
11.2.2 雕刻效果
11.2.3 黑白效果
11.2.4 霧化效果
11.2.5 素描效果
11.3 綜合實例——圖像特效編輯器
11.4 實踐拓展
第四篇 數字圖像編程高級套用
第12章 Visual C++結合Open CV編程
12.1 OpenCV概述
12.2 OpenCV編程環境
12.2.1 OpenCV的獲取
12.2.2 0penCV的安裝和Visual C++的配置
12.3 OpenCV編程基礎
12.3.1 OpenCV編程規範
12.3.2 0penCV基礎數據結構
12.3.3 OpenCV動態數據結構
12.3.4 OpenCV常用函式
12.3.5 在Vsual C++環境下使用OpenCV
12.4 綜合實例——人臉檢測
12.5 實踐拓展
第13章 Visual C++結合MATLAB編程
13.1 MATLAB概述
13.2 MATLAB圖像處理
13.2.1 MATLAB程式設計基礎
13.2.2 MAⅡAB圖像處理工具箱
13.2.3 Simulink視頻和圖像處理模組
13.3 在Visual C++中調用MATLAB
13.3.1 使用MATLAB引擎
13.3.2 使用MATLAB編譯器
13.3.3 使用MATCOM
13.3.4 在VC中調用Simulink模型
13.4 綜合實例-運動物體跟蹤
13.5 實踐拓展
第14章 車牌識別系統綜合套用
14.1 車牌識別系統概述
14.2 車牌識別系統架構
14.2.1 系統硬體平台
14.2.2 系統軟體平台
14.3 車牌定位
14.3.1 車輛圖像採集與預處理
14.3.2 車牌區域定位
14.4 字元分割
14.4.1 圖像二值化
14.4.2 傾斜校正
14.4.3 分割字元
14.5 車牌識別
14.5.1 字元特徵提取
14.5.2 分類器設計
14.5.3 字元識別
14.6 實踐拓展
參考文獻