全書以新版本的MATLAB R2016a為平臺,全面講解MATLAB在圖像處理及應用方面的知識。本書理論結(jié)合實踐,自始至終通過實例來介紹有關(guān)內(nèi)容,每章內(nèi)容完整且相對獨立,是一本實用性極強的MATLAB參考書。
全書分為三個部分共14章。第一部分為MATLAB及圖像處理基礎,涵蓋的內(nèi)容有MATLAB基礎知識、MATLAB矩陣及其運算、MATLAB圖像處理基礎; 第二部分為MATLAB的常見圖像處理技術(shù),涵蓋的內(nèi)容有MATLAB圖像的繪制、圖形用戶界面、圖像的基本運算、圖像的變換、圖像壓縮編碼、圖像增強技術(shù)、圖像的復原; 第三部分為MATLAB的高級圖像處理技術(shù),涵蓋了圖像分割與區(qū)域處理分析、圖像形態(tài)學處理、MATLAB圖像處理的綜合應用等內(nèi)容。
本書以實用為目標,深入淺出,實例引導,內(nèi)容翔實,適合作為理工科高等院校研究生、本科生教學用書,也可作為相關(guān)專業(yè)科研工程技術(shù)人員的參考用書.
(1)資深作者編著,圖書質(zhì)量更有保證:一線資深工程師執(zhí)筆,系統(tǒng)歸納和總結(jié)了智能算法的實戰(zhàn)經(jīng)驗。
(2)提供配套源碼,便于讀者動手實踐:理論必須聯(lián)系實踐,本書提供源代碼下載,方便讀者學習使用。
(3)內(nèi)含豐富實例,利于讀者二次開發(fā):書中提供了十幾個圖像處理算法的典型實例,讀者可以據(jù)此二次開發(fā)。
配套學習資源下載地址為清華大學出版社網(wǎng)站本書頁面。系列暢銷圖書如下:
MATLAB編程指南——計算、編程、仿真、算法及應用
MATLAB/Simulink系統(tǒng)仿真
MATLABGUI程序設計
MATLAB智能算法
MATLAB數(shù)學建模
MATLAB科學計算
MATLAB圖像處理
MATLAB圖像處理
MATLAB優(yōu)化算法
MATLAB這個名字是由MATrix和LABoratory兩詞的前三個字母組合而成。在20世紀70年代后期,時任美國新墨西哥大學計算機科學系主任的CleveMoler教授出于減輕學生編程負擔的動機,為學生設計了一組調(diào)用LINPACK和EISPACK庫程序的“通俗易用”的接口,此即用FORTRAN編寫的萌芽狀態(tài)的MATLAB。
MATLAB以商業(yè)形式出現(xiàn)后的短短幾年,就以其良好的開放性和運行的可靠性,淘汰了原先控制領(lǐng)域里的眾多封閉式軟件包,而使其改在MATLAB平臺上重建。在國際上三十多個數(shù)學類科技應用軟件中,MATLAB在數(shù)值計算領(lǐng)域獨占鰲頭。
目前,MATLAB已成為圖像處理、信號處理、通信原理、自動控制等專業(yè)的重要基礎課程的首選實驗平臺,而對于學生而言,最有效的學習途徑是結(jié)合某一專業(yè)課程的學習,通過實踐掌握該軟件的使用與編程。
1.本書特點
(1)由淺入深,循序漸進。本書以初、中級讀者為對象,以MATLAB軟件為主線,先讓讀者了解其各項功能,然后進一步分別詳細地介紹MATLAB在圖像處理方面的應用。
(2)步驟詳盡,內(nèi)容新穎。本書結(jié)合作者多年MATLAB使用經(jīng)驗與圖像處理實際應用案例,將MATLAB軟件的使用方法與技巧詳細地講解給讀者,使讀者在閱讀時能夠快速掌握書中所講內(nèi)容。
(3)實例典型,輕松易學。通過學習實際工程應用案例的具體操作是掌握MATLAB最好的方式。本書通過綜合應用案例,透徹詳盡地講解了MATLAB在各方面的應用。
2.本書內(nèi)容
本書基于MATLABR2016a版,詳細講解MATLAB圖像處理的基礎知識和核心內(nèi)容。全書共分為14章,具體內(nèi)容如下:
第一部分為MATLAB及圖像處理基礎部分,主要介紹MATLAB的發(fā)展歷程及特點、MATLAB基礎知識、矩陣的表示、矩陣的尋訪、矩陣的運算、圖像的讀寫、圖像顯示、圖像類型的轉(zhuǎn)換等內(nèi)容。具體的章節(jié)安排如下:
第1章MATLAB基礎知識介紹;
第2章MATLAB矩陣及其運算;
第3章MATLAB圖像處理基礎。
第二部分為MATLAB的常見圖像處理技術(shù),詳細講解了二維、三維圖像的繪制及編輯、圖形用戶界面的設計、各種運算方法、圖像各種變換的原理、圖像編碼質(zhì)量評價、常見的圖像壓縮編碼、小波壓縮編碼、圖像的增強、圖像的退化模型、退化函數(shù)估計、逆濾波、維納濾波、約束的最小二乘方濾波復原等內(nèi)容。具體的章節(jié)安排如下:
第4章MATLAB圖形的繪制;
第5章圖形用戶界面;
第6章圖像的基本運算;
第7章圖像的變換;
第8章圖像壓縮編碼;
第9章圖像的增強;
第10章圖像的復原。
第三部分為MATLAB的高級圖像處理技術(shù)。主要講解閾值分割、區(qū)域分割、邊緣檢測、區(qū)域處理、數(shù)學形態(tài)學的基本操作、基于形態(tài)學處理的其他操作、MATLAB在醫(yī)學、人臉識別、特征提取、圖像配準、視頻檢驗方面的應用等內(nèi)容。具體的章節(jié)安排如下:
第11章圖像分割與區(qū)域處理;
第12章圖像的數(shù)學形態(tài)學;
第13章MATLAB圖像處理綜合應用。
3.讀者對象
本書適合于MATLAB初學者和期望提高應用MATLAB進行圖像處理能力的讀者,包括:
圖像處理從業(yè)人員;
初學MATLAB圖像處理的技術(shù)人員;
大中專院校的教師和在校生;
相關(guān)培訓機構(gòu)的教師和學員;
MATLAB愛好者;
廣大科研工作人員。
4.讀者服務
為了方便解決本書疑難問題,讀者朋友在學習過程中遇到與本書有關(guān)的技術(shù)問題,可以發(fā)郵件到郵箱caxart@126.com或者訪問博客http://blog.sina.com.cn/caxart,編者會盡快給予解答。
另外本書所涉及的素材文件(程序代碼)已經(jīng)上傳到清華大學出版社本書頁面,讀者可以到此下載。
本書主要由劉成龍編著。此外,付文利、王廣、張巖、溫正、林曉陽、任艷芳、唐家鵬、孫國強、高飛等也參與了本書部分內(nèi)容的編寫工作,在此表示感謝。
雖然作者在本書的編寫過程中力求敘述準確、完善,但由于水平有限,書中欠妥之處在所難免,希望讀者和同仁能夠及時指出,共同促進本書質(zhì)量的提高。
編者
2017年4月
劉成龍 畢業(yè)于北京航空航天大學,獲得碩士學位,就職于中國科學院,長期從事圖像處理方面的研究與應用開發(fā)工作多年,精通MATLAB、ANSYS、Fluent等工程仿真軟件。在國內(nèi)外期刊發(fā)表論文多篇,編寫了多部暢銷圖書。
第一部分MATLAB及圖像處理基礎
第1章MATLAB基礎知識介紹
1.1MATLAB概述與桌面操作
1.1.1MATLAB系統(tǒng)結(jié)構(gòu)
1.1.2MATLAB的發(fā)展歷程
1.1.3命令行窗口
1.1.4M文件編輯窗口
1.1.5幫助系統(tǒng)窗口
1.1.6圖形窗口
1.1.7當前文件夾窗口
1.2查詢幫助命令
1.2.1help命令
1.2.2模糊尋找
1.3MATLAB變量及表達式
1.3.1數(shù)值與變量
1.3.2表達式
1.4符號運算
1.4.1創(chuàng)建符號變量
1.4.2數(shù)值與符號的轉(zhuǎn)換
1.4.3數(shù)值矩陣轉(zhuǎn)換為符號矩陣
1.4.4符號替換
1.4.5常用的符號運算
1.4.6關(guān)系運算和邏輯運算
1.5程序流程控制語句
1.5.1數(shù)據(jù)的輸入與輸出
1.5.2順序結(jié)構(gòu)
1.5.3判斷語句
1.5.4分支語句
1.5.5for循環(huán)語句與while循環(huán)語句
1.6本章小結(jié)
第2章MATLAB矩陣及其運算
2.1矩陣的創(chuàng)建
2.1.1直接輸入法
2.1.2載入外部數(shù)據(jù)文件
2.1.3利用MATLAB內(nèi)置函數(shù)創(chuàng)建矩陣
2.1.4利用M文件創(chuàng)建和保存矩陣
2.2矩陣的尋訪
2.2.1下標元素訪問
2.2.2訪問單元素
2.2.3訪問多元素
2.3矩陣的拼接
2.4矩陣的運算
2.4.1矩陣的加減運算
2.4.2矩陣的乘除運算
2.4.3矩陣的乘方
2.4.4按位運算
2.4.5矩陣的行列式與秩
2.4.6矩陣的逆與跡
2.4.7矩陣的范數(shù)及其計算函數(shù)
2.4.8矩陣的特征值與特征向量
2.4.9矩陣的超越函數(shù)
2.5本章小結(jié)
第3章MATLAB圖像處理基礎
3.1常用圖像的文件格式與類型
3.2圖像處理的基本函數(shù)
3.2.1圖像文件的查詢與讀取
3.2.2圖像文件的儲存與數(shù)據(jù)類型的轉(zhuǎn)換
3.2.3圖像顯示
3.3圖像類型的轉(zhuǎn)換
3.3.1dither函數(shù)
3.3.2im2bw函數(shù)
3.3.3mat2gray函數(shù)
3.3.4gray2ind函數(shù)與grayslice函數(shù)
3.3.5ind2gray函數(shù)與ind2rgb函數(shù)
3.3.6rgb2gray函數(shù)與rgb2ind函數(shù)
3.4MATLAB的顏色模型轉(zhuǎn)換
3.4.1rgb2hsv函數(shù)與hsv2rgb函數(shù)
3.4.2rgb2ntsc函數(shù)與ntsc2rgb函數(shù)
3.4.3rgb2ycbcr函數(shù)與ycbcr2rgb函數(shù)
3.5本章小結(jié)
第二部分MATLAB的常見圖像處理技術(shù)
第4章MATLAB圖形的繪制
4.1二維繪圖
4.1.1基本的二維繪圖
4.1.2figure函數(shù)與subplot函數(shù)
4.1.3二維圖形的標注與修飾
4.1.4特殊二維圖形的繪制實例
4.2三維繪圖
4.2.1三維折線及曲線的繪制
4.2.2三維圖形坐標標記的函數(shù)
4.2.3三維網(wǎng)格曲面的繪制
4.2.4三維陰影曲面的繪制
4.2.5三維圖形的修飾與標注
4.2.6特殊三維圖形的繪制實例
4.3本章小結(jié)
第5章圖形用戶界面
5.1圖形用戶界面簡介
5.1.1GUI的設計原則及步驟
5.1.2GUI模板與設計窗口
5.2控制框?qū)ο蠹皩傩?br />
5.2.1按鈕
5.2.2滑標
5.2.3單選按鈕
5.2.4復選框
5.2.5靜態(tài)文本
5.2.6可編輯文本框
5.2.7彈出式菜單
5.2.8列表框
5.2.9切換按鈕
5.2.10面板
5.2.11按鈕組
5.2.12軸
5.3菜單設計
5.4對話框設計
5.4.1Windows公共對話框
5.4.2MATLAB專用對話框
5.5GUI的設計工具
5.5.1布局編輯器
5.5.2對象瀏覽器
5.5.3用屬性查看器設置控制框?qū)傩?br />
5.5.4對象對齊工具
5.5.5Tab鍵順序編輯器
5.5.6菜單編輯器
5.5.7編輯器
5.6本章小結(jié)
第6章圖像的基本運算
6.1圖像的點運算
6.1.1點運算的種類
6.1.2直方圖與點運算
6.1.3直方圖的均衡化
6.1.4直方圖規(guī)定化
6.2圖像的代數(shù)運算
6.2.1圖像的加法運算
6.2.2圖像的減法運算
6.2.3圖像的乘法運算
6.2.4圖像的除法運算
6.3圖像的幾何運算
6.3.1圖像的插值
6.3.2旋轉(zhuǎn)與平移變換
6.3.3縮放與裁剪變換
6.3.4鏡像變換
6.4圖像的仿射變換
6.4.1尺度與伸縮變換
6.4.2扭曲與旋轉(zhuǎn)變換
6.5圖像的邏輯運算
6.6本章小結(jié)
第7章圖像的變換
7.1傅里葉變換
7.1.1連續(xù)傅里葉變換
7.1.2離散傅里葉變換
7.1.3快速傅里葉變換
7.1.4MATLAB的傅里葉變換函數(shù)
7.2傅里葉變換的性質(zhì)
7.2.1線性與周期性
7.2.2縮放性與可分離性
7.2.3平移性
7.2.4旋轉(zhuǎn)不變性
7.2.5平均值與卷積定理
7.3離散余弦變換
7.3.1一維離散余弦變換
7.3.2二維離散余弦變換
7.3.3MATLAB的離散余弦變換函數(shù)
7.4圖像的Radon變換
7.5沃爾什哈達瑪變換
7.6小波變換
7.6.1連續(xù)小波變換
7.6.2離散小波變換
7.7本章小結(jié)
第8章圖像壓縮編碼
8.1圖像壓縮編碼技術(shù)概述
8.1.1圖像壓縮的基本原理
8.1.2圖像的有損編碼和無損編碼
8.2圖像壓縮編碼的評價標準
8.2.1壓縮率與冗余度
8.2.2客觀標準
8.2.3主觀標準
8.3常見的圖像壓縮編碼
8.3.1赫夫曼與算數(shù)編碼
8.3.2香農(nóng)編碼與行程編碼
8.3.3預測編碼
8.3.4變換編碼
8.4小波圖像壓縮編碼
8.5圖像壓縮在數(shù)字水印方面的應用
8.6本章小結(jié)
第9章圖像的增強
9.1灰度變換增強
9.1.1線性變換與非線性變換
9.1.2MATLAB的灰度變換函數(shù)
9.1.3最大熵方法增強對比度
9.2圖像的空域濾波增強
9.2.1噪聲與imnoise函數(shù)
9.2.2平滑濾波器
9.2.3中值濾波器
9.2.4自適應濾波器
9.2.5銳化濾波器
9.3圖像的頻域濾波增強
9.3.1低通濾波器
9.3.2高通濾波器
9.3.3同態(tài)濾波器
9.4彩色增強
9.4.1真彩色增強
9.4.2偽彩色增強
9.4.3假彩色處理
9.5小波變換在圖像增強方面的應用
9.5.1小波圖像去噪處理
9.5.2圖像鈍化與銳化
9.6本章小結(jié)
第10章圖像的復原
10.1圖像退化模型與估計函數(shù)
10.1.1連續(xù)退化模型
10.1.2離散退化模型
10.1.3退化估計函數(shù)
10.1.4MATLAB的圖像退化函數(shù)
10.2圖像恢復的方法
10.2.1逆濾波復原
10.2.2維納濾波復原
10.2.3約束的最小二乘方濾波復原
10.2.4LucyRichardson濾波復原
10.2.5盲去卷積濾波復原
10.2.6MATLAB的圖像恢復函數(shù)
10.3本章小結(jié)
第三部分MATLAB的高級圖像處理技術(shù)
第11章圖像分割與區(qū)域處理
11.1圖像分割的概述
11.2邊緣檢測
11.2.1Roberts邊緣算子
11.2.2Sobel算子
11.2.3Prewitt算子
11.2.4LaplacianGauss算子
11.2.5Canny算子
11.2.6MATLAB的邊緣檢測函數(shù)
11.2.7小波在圖像邊緣檢測中的應用
11.3直線的提取與邊界跟蹤
11.3.1用Hough變換提取直線
11.3.2邊界跟蹤
11.4閾值分割
11.4.1直方圖閾值法
11.4.2自動閾值法
11.4.3分水嶺分割法
11.4.4迭代法
11.5區(qū)域生長與分裂合并
11.5.1區(qū)域生長
11.5.2區(qū)域分裂與合并
11.6區(qū)域處理
11.6.1滑動領(lǐng)域操作
11.6.2分離領(lǐng)域操作
11.6.3區(qū)域的選擇
11.6.4區(qū)域濾波與填充
11.7本章小結(jié)
第12章圖像的數(shù)學形態(tài)學
12.1數(shù)學形態(tài)學的基本操作
12.1.1結(jié)構(gòu)元素
12.1.2膨脹與腐蝕運算
12.1.3膨脹和腐蝕的組合運算
12.2基于形態(tài)學處理的其他操作
12.2.1擊中或擊不中運算
12.2.2骨架的提取
12.2.3邊界提取與距離變換
12.2.4區(qū)域填充與移除小目標
12.2.5極值的操作
12.2.6查找表與對象的特性度量
12.2.7光照不均勻的處理
12.2.8使用紋理濾波器對圖像進行處理
12.3本章小結(jié)
第13章MATLAB圖像處理綜合應用
13.1MATLAB在醫(yī)學圖像處理中的應用
13.1.1圖像負片效果在醫(yī)學圖像處理中的應用
13.1.2灰度變換在醫(yī)學圖像處理中的應用
13.1.3直方圖均衡化在醫(yī)學圖像處理中的應用
13.1.4銳化效果在醫(yī)學圖像處理中的應用
13.1.5邊緣檢測效果在醫(yī)學圖像處理中的應用
13.2MATLAB圖像在特征提取中的應用
13.2.1確定圖像中的圓形目標
13.2.2測量圖像的粒度
13.2.3測量灰度圖像的屬性
13.2.4測量圖像的半徑
13.2.5測量圖像的角度
13.3圖像處理在人臉識別中的應用
13.4MATLAB在圖像配準中的應用
13.5圖像處理在檢驗視頻目標中的應用
13.5.1利用圖像分割來檢驗視頻中的目標
13.5.2利用卡爾曼濾波來定位視頻中的目標
13.6GUI在圖像處理中的應用
13.6.1圖像幾何運算的GUI設計
13.6.2圖像增強的GUI設計
13.6.3圖像分割的GUI設計
13.6.4圖像邊緣檢測的GUI設計
13.7本章小結(jié)
參考文獻
第5章圖形用戶界面
圖形用戶界面是由窗口、菜單、對話框等各種圖形對象組成的用戶界面,在用戶界面中設定了觀看和感知計算機、操作系統(tǒng)或應用程序的功能。通常是根據(jù)用戶體驗和用戶界面功能來設計圖形用戶界面。
學習目標:
(1)了解圖形用戶界面中的基本概念。
(2)掌握圖形用戶界面中主要函數(shù)的基本原理及實現(xiàn)步驟。
(3)熟悉圖形用戶界面設計的基本方法。
5.1圖形用戶界面簡介
用戶界面(或接口)是指人與機器(或程序)之間交互作用的工具和方法。鍵盤、鼠標、跟蹤球、話筒都可以成為與計算機交換信息的接口。圖形用戶界面(GraphicalUserInterfaces,GUI)則是由窗口、光標、按鍵、菜單、文字說明等對象(Objects)構(gòu)成的一個用戶界面。用戶通過一定的方法(如鼠標或鍵盤)選擇、激活這些圖形對象,使計算機產(chǎn)生某種動作或變化,如實現(xiàn)計算和實現(xiàn)繪圖等。