《數字圖像處理——原理與算法》針對圖像處理和算法兩方面為“零知識”起點的讀者。前12章適用于本科教學,主要內容包括概論、圖像數字化、圖像處理基礎、圖像幾何變換、圖像時頻變換、圖像增強、圖像恢復、圖像分割、圖像特征與分析、圖像形態學、模式識別和圖像壓縮。最后3章包括分形圖像壓縮、圖像加密和圖像水印,可為本科高年級和研究生教學之用。
《數字圖像處理——原理與算法》內容新穎并注重培養創新能力,介紹算法深入淺出并注重實現,其主要算法都在配套的《數字圖像處理-VisualC#.NET編程與實驗》一書中實現了程序。若結合《數字圖像處理一VisualC#.NET編程與實驗》,各層次讀者可各取所需地學習有關章節。《數字圖像處理——原理與算法》的所有算法和公式都經過推導和證明,并經過程序驗證。
《數字圖像處理——原理與算法》適用于計算機、通信和電子信息、自動控制、生物醫學工程等各理工科相關專業的本科和研究生教學和工程技術人員應用參考。
數字圖像處理是實用性很強的學科,許多處理算法具有實際應用背景。因此,學習圖像處理原理與算法必須與編程實踐相結合才能真正理解和掌握。本著這個目的,作者編寫了本書,并將所有主要算法編程實現寫成另一本《數字圖像處理——Visualc#.NET編程與實驗》(以下簡稱《編程與實驗》)。本書中,作者對于原理與算法的著眼點不是“介紹性”的,即不是停留在介紹上,而是著眼于實現和實踐。雖然將圖像處理算法作為基本對象,但對于沒有學習過甚至沒有接觸過計算機圖形學和算法的讀者來說,也能順利地學完大部分章節。按照現在流行的新潮語言,本書是“零知識”起點的,即對于圖像處理和算法兩個方面是“零知識”起點的。對于其他基礎知識,一般地,要求讀者學習過大學高等數學和一門程序設計語言,如C或Java語言。
本書作者認為,一個算法只有當程序實現時才是一個真正意義上的算法。因為算法在實現時,仍然會遇到一些計算機編程實現的困難。另一方面,當算法已經實現時,可以通過程序的運行和對代碼的分析進一步理解和掌握算法,還可以學到編程實現的技巧。而這些正是讀者需要掌握的。用“百聞不如一見”的成語來描述圖像處理的學習方法恐怕是最恰當的。在學習了原理與算法后,如果不進行編程和實驗將會留下缺憾。出于這樣的考慮,《編程與實驗》中的程序是完整的,程序除了可用標準的可視化選擇控件設置參數外,還設置了默認參數。作者這樣處理的目的之一是讓讀者進行圖像處理實踐和實驗上帶來便利。其目的之二是為非計算機專業的讀者在學習和應用圖像處理技術上考慮的。所以,本書不僅是面向計算機專業的,事實上它也適合電子信息、自動控制、生物醫學等各理工科相關專業。由于程序已能自動運行,即使初學者也能從中有所收獲,所以本書大部分內容對于專科、高等職業技術學院等各個層次的讀者也是適合的。書中某些內容特別是最后3章更是為本科高年級學生和研究生們創新學習特意編寫的。
本書的特色和學習方法
下面介紹本書的特色和相應的學習方法,供讀者參考。
1.介紹算法詳細并注重實現
一個算法只有當其程序實現時,才是一個真正意義上的算法。事實上,本書的算法是在程序實現后寫成的。讀者可以通過與本書配套的《編程與實驗》中的程序運行和對代碼的分析進一步理解和掌握算法,還可以學習編程實現的技巧。
2.主要算法都實現了程序在本書中的主要算法都在《編程與實驗》中實現了完整程序,且可直接運行又可設置參數運行。全部程序提供了運行所需的完整圖像等實驗材料。此外,對有關章節理論內容的學習在光盤中還提供了仿真實驗程序,讀者可進行實驗,用以加深理解和掌握。
3.程序代碼注釋詳細并具有研究開發價值
對應算法在程序的相應語句中提供詳細注釋,便于對照學習。不少程序直接來自作者在公司的開發實踐和研究工作,具有研究開發價值。
出版說明
前言
第1章 概論
1.1 基本概念
1.1.1 連續圖像
1.1.2 數字圖像
1.1.3 顏色模型
1.2 圖像的統計特性
1.2.1 基本統計分析量
1.2.2 直方圖
1.3 圖像文件格式
1.3.1 BMP圖像文件格式
1.3.2.IPG圖像文件格式
1.3.3 G11圖像文件格式
1.3.4 PNG圖像文件格式
1.4 圖像質量的評價標準
1.4.1 客觀評價標準
1.4.2 主觀評價標準
1.5 數字圖像處理的應用
1.6 習題
第2章 圖像數字化
2.1 圖像采樣
2.1.1 圖像采樣基本概念
2.1.2 采樣定理
2.1.3 圖像重建
2.2 圖像量化
2.2.1 標量量化
2.2.2 向量量化
2.2.3 采樣、量化參數與數字化圖像之間的關系
2.2.4.數字圖像的數值描述
2.3 圖像輸人/輸出設備
2.3.1 圖像輸入設備
2.3.2 圖像輸出設備
2.4 習題
第3章 圖像處理基礎
3.1 點運算
3.1.1 線性點運算
3.1.2 非線性點運算
3.1.3 點運算與直方圖
3.1.4 點運算的應用
3.2 代數運算
3.2.1 加法運算
3.2.2 減法運算
3.2.3 乘法運算
3.2.4 除法運算
3.3 點運算和代數運算應用算法
3.3.1 彩色圖像轉變為灰度圖像
3.3.2 灰度閾值變換
3.3.3 灰度線性變換
3.3.4 偽彩色處理
3.3.5 圖像融合
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.4 習題
第5章 圖像時頻變換
5.1 Fourier變換
5.1.1 Fourier變換的性質
5.1.2 離散Fourier變換
5.1.3 二維離散Fourier變換的性質
5.2 快速傅里葉變換
5.2.1 計算DFT的問題及其改進途徑
5.2.2 FFT算法及其原理
5.3 離散余弦變換
5.3.1 一維離散余弦變換
5.3.2 利用FFT快速計算DCT
5.4 沃爾什-哈達瑪變換
5.4.1 沃爾什函數與哈達瑪矩陣
5.4.2 沃爾什-哈達瑪變換
5.5 K-L變換
5.5.1 圖像的向量表示和統計參數
5.5 ,2c,的特征值和特征向量
5.5.3 離散K-L變換及其性質
5.6 小波變換
5.6.1 從F0urier分析到小波分析
5.6.2 小波分析
5.6.3 小波變換算法
5.7 習題
第6章 圖像增強
6.1 空域增強
6.1.1 灰度變換增強
6.1.2 直方圖變換增強
6.1.3 平滑濾波
6.1.4 中值濾波
6.1.5 空域模板濾波
6.2 頻域增強
6.2.1 巴特沃斯低通濾波
6.2.2 巴特沃斯高通濾波
6.3 圖像銳化
6.3.1 羅伯特算子
6.3.2 拉普拉斯算子
6.3.3 索伯爾算子
6.3.4 普瑞維特算子
6.3.5 凱西算子
6.4 習題
第7章 圖像恢復
7.1 圖像退化模型
7.1.1 線性系統
7.1.2 圖像退化模型
7.1.3 圖像退化模型的離散形式
7.1.4 運動模糊的退化模型
7.2 圖像代數恢復方法
7.2.1 無約束代數恢復方法
7.2.2 有約束代數恢復方法
7.3 圖像頻域恢復方法
7.3.1 逆濾波
7.3.2 最小二乘方濾波
7.4 其他圖像恢復方法
7.4.1 人機交互式恢復方法
7.4.2 幾何畸變校正
7.5 習題
第8章 圖像分割
8.1 邊緣檢測
8.1.1 圖像邊緣與梯度
8.1.2 邊緣檢測算法
8.2 圖像閾值法
8.2.1 閾值分割原理
8.2.2 最佳閾值分割算法
8.2.3 0tsu閾值分割算法
8.2.4 基于熵的二值化方法
8.3 基于區域的分割
8.3.1 區域生長法
8.3.2 區域分裂與合并
8.4 霍夫變換
8.4.1 直線的檢測
8.4.2 廣義Hough變換檢測曲線
8.5 習題
第9章 圖像特征提取與分析
9.1 幾何特征
9.1.1 位置和面積
9.1.2 距離
9.2 形狀特征
9.2.1 區域外部空間域分析
9.2.2 區域內部空間域分析
9.2.3 區域內部變換分析
9.3 邊界特征
9.3.1 鏈碼描述
9.3.2 傅里葉描述子
9.3.3 邊界提取與外輪廓跟蹤
9.4 圖形細化
9.4.1 細化算法
……
第10章 圖像形態學
第11章 模式識別
第12章 圖像壓縮
第13章 分開圖像壓縮
第14章 圖像加密
第15章 圖像數字水印
附錄
參考文獻
在數字圖像處理中,經常需要采用各種各樣的算法。根據數字圖像處理運算中輸入信息與輸出信息的類型,具有代表性的圖像處理算法從功能上分為以下幾種:(1)單幅圖像=單幅圖像。(2)多幅圖像=單幅圖像。(3)單幅或多幅圖像=數值/符號等。以上3類運算中,所有輸入信息都是圖像且其灰度值都是非負整數值,而輸出信息的形式則各不相同,既可以是具有非負灰度值的數字圖像,也可以是僅具有0、1兩個灰度值的二值圖像,又可以是對輸入圖像逐個像素點進行解釋的符號或由特定參數組成的某種二維信息,常稱為標號圖像,還可以是從圖像中提取的以數值或符號描述的特征信息。所有以二維信息形式輸出的信息統稱為廣義圖像,標號圖像也屬于廣義圖像的范疇。
在這3類運算中,第一類是數字圖像處理中最基本的運算。根據輸入圖像得到輸出圖像(目標圖像)處理運算的數學特征,可將圖像處理運算方式分為點運算、代數運算和幾何運算。這些運算都是基于空間域的圖像處理運算,與空間域運算相對應的是變換域運算。本章學習點運算、代數運算及其應用,主要有色彩轉變、灰度閾值變換、灰度線性變換、圖像融合等。幾何運算和變換域運算將在第4、5章進行介紹。