基MATLAB GUI圖像處理實(shí)驗(yàn)報(bào)告_第1頁(yè)
基MATLAB GUI圖像處理實(shí)驗(yàn)報(bào)告_第2頁(yè)
基MATLAB GUI圖像處理實(shí)驗(yàn)報(bào)告_第3頁(yè)
基MATLAB GUI圖像處理實(shí)驗(yàn)報(bào)告_第4頁(yè)
基MATLAB GUI圖像處理實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)字圖像處理實(shí)驗(yàn)報(bào)告 姓名: * 學(xué)號(hào):* 專(zhuān)業(yè):電子信息科學(xué)與技術(shù) 指導(dǎo)老師:*實(shí)驗(yàn)一 :熟悉MATLAB的圖象處理工具箱1、實(shí)驗(yàn)?zāi)康?熟悉MATLAB的操作和基本功能; 2理解和掌握?qǐng)D像的平移、垂直鏡像變換、水平鏡像變換和旋轉(zhuǎn)的原理和應(yīng)用。2、實(shí)驗(yàn)原理2.1圖像的幾何變換圖像的幾何變換是指用數(shù)學(xué)建模的方法來(lái)描述圖像的大小、形狀、位置等變化的方法。圖像的幾何變換可以看成是像素在圖像內(nèi)的移動(dòng)過(guò)程,該移動(dòng)過(guò)程可以改變圖像中物體對(duì)象(像素)之間的空間關(guān)系。完整的幾何運(yùn)算需要由兩個(gè)算法來(lái)實(shí)現(xiàn):空間變換算法和灰度插值算法??臻g變換主要用來(lái)保持圖像中曲線的連續(xù)性和物體的連通性,一般都采用數(shù)學(xué)函

2、數(shù)形式來(lái)描述輸入、輸出圖像相應(yīng)像素間的空間關(guān)系??臻g變換一般定義為g(x, y) = f (x, y) = f a(x, y),b(x, y) 其中, f 表示輸入圖像, g 表示輸出圖像,坐標(biāo) (x, y)指的是空間變換后的坐標(biāo),要注意這時(shí)的坐標(biāo)已經(jīng)不是原來(lái)的坐標(biāo) (x, y)了, a(x, y)和 b(x, y)分別是圖像的x 和y 坐標(biāo)的空間變換函數(shù)。灰度級(jí)插值主要是對(duì)空間變換后的像素賦予灰度值,使之恢復(fù)原位置處的灰度值,在幾何運(yùn)算中,灰度級(jí)插值是必不可少的組成部分。因?yàn)閳D像一般用整數(shù)位置處的像素來(lái)定義。而在幾何變換中, g(x, y)的灰度值一般由處在非整數(shù)坐標(biāo)上的f (x, y)的值

3、來(lái)確定,即 g中的一個(gè)像素一般對(duì)應(yīng)于 f 中的幾個(gè)像素之間的位置,反過(guò)來(lái)看也是一樣,即f 中的一個(gè)像素往往被映射到g 中的幾個(gè)像素之間的位置。圖像平移就是將圖像中所有的點(diǎn)都按照指定的平移量水平、垂直移動(dòng)。設(shè)(x0,y0)為原圖像上的一點(diǎn),圖像水平平移量為tx,垂直平移量為ty,則平移后點(diǎn)(x0,y0)坐標(biāo)將變?yōu)椋▁1,y1)。顯然(x0,y0)和(x1,y1)的關(guān)系如下:用矩陣表示如下:對(duì)該矩陣求逆,可以得到逆變換: 即這樣,平移后的圖像上的每一點(diǎn)都可以在原圖像中找到對(duì)應(yīng)的點(diǎn)。例如,對(duì)于新圖中的(0,0)像素,代入上面的方程組,可以求出對(duì)應(yīng)原圖中的像素(-tx,-ty)。如果tx或ty大于0,

4、則(- tx,- ty)不在原圖中。對(duì)于不在原圖中的點(diǎn),可以直接將它的像素值統(tǒng)一設(shè)置為0或則255(對(duì)于灰度圖就是黑色或白色)。同樣,若有點(diǎn)不在原圖中,也就說(shuō)明原圖中有點(diǎn)被移出顯示區(qū)域。如果不想丟失被移出的部分圖像,可以將新生成的圖像寬度擴(kuò)大|tx |,高度擴(kuò)大| ty |。3、實(shí)驗(yàn)內(nèi)容與結(jié)果分析3.1圖像錯(cuò)切 由錯(cuò)切原理可知,源圖與目標(biāo)圖之間的映射關(guān)系屬均勻映射,因此,對(duì)水平錯(cuò)切,只需對(duì)圖像每一行的初始一列的像素作切移和插值處理,上圖是水平方向錯(cuò)切后的結(jié)果,圖形在水平方向上發(fā)生了扭變,變成了斜邊,而垂直方向的邊,并沒(méi)有改變。3.2圖像旋轉(zhuǎn) 上圖是以圖像的中心為圓心旋轉(zhuǎn),將圖像上的所有像素都旋

5、轉(zhuǎn)一個(gè)相同的角度。圖像的旋轉(zhuǎn)變換是圖像的位置變換,由于要顯示所有圖像,所以在圖像旋轉(zhuǎn)變換中擴(kuò)大了圖像范圍,導(dǎo)致了旋轉(zhuǎn)后圖像變大了。3.3圖像鏡像變換 圖像的水平鏡像操作是將圖像左半部分和右半部分以圖像垂直中軸線為中心進(jìn)行鏡像對(duì)換;圖像的垂直鏡像操作是將圖像上半部分和下半部分以圖像水平中軸線為中心進(jìn)行鏡像對(duì)換;圖像的對(duì)角鏡像操作是將圖像以圖像水平中軸線和垂直中軸線的交點(diǎn)為中心進(jìn)行鏡像對(duì)換。上圖是通過(guò)鏡像變換后的結(jié)果,從圖片對(duì)比可以知道,圖像的鏡像變換并不改變圖像的形狀。3.4圖像平移 平移變換是將一幅圖像上的所有點(diǎn)都按照給定的偏移量在水平方向沿X軸,在垂直方向沿Y軸移動(dòng)。實(shí)驗(yàn)中,每個(gè)像素值以及其

6、對(duì)應(yīng)的坐標(biāo)x和y都被平移了50,表現(xiàn)在整個(gè)圖像上,即向右下角平移sqrt(50*50+50*50),對(duì)于不在原圖像中的像素值設(shè)為0,顯示結(jié)果如上圖所示。實(shí)驗(yàn)二:數(shù)字圖像增強(qiáng)處理的編程實(shí)現(xiàn)1、實(shí)驗(yàn)?zāi)康?#160;1. 了解灰度變換增強(qiáng)和空域?yàn)V波增強(qiáng)的Matlab實(shí)現(xiàn)方法 2. 掌握直方圖灰度變換方法 3. 掌握噪聲模擬和圖像濾波函數(shù)的使用方法4.掌握平滑處理的算法和用途,學(xué)習(xí)使用均值濾波、中值濾波和拉普拉斯銳化進(jìn)行圖像增強(qiáng)處理的程序設(shè)計(jì)方法;  5.利用MATLAB程序進(jìn)行圖像增強(qiáng)。2、實(shí)驗(yàn)原理2.1二值圖象原理 二

7、值圖像是一種簡(jiǎn)單的圖像格式,它只有兩個(gè)灰度級(jí),即"0"表示黑色的像素點(diǎn),"255"表示白色的像素點(diǎn),至于如何從一幅普通的圖像獲得二值圖像,二值圖像處理在圖像處理領(lǐng)域占據(jù)很重要的位置,在具體的圖像處理應(yīng)用系統(tǒng)中,往往需要對(duì)于獲得的二值圖像再進(jìn)一步進(jìn)行處理,以有利于后期的識(shí)別工作。二值圖像處理運(yùn)算是從數(shù)學(xué)形態(tài)學(xué)下的集合論方法發(fā)展起來(lái)的,盡管它的基本運(yùn)算很簡(jiǎn)單,但是卻可以產(chǎn)生復(fù)雜的效果。常用的二值圖像處理操作有許多方法,如腐蝕、膨脹、細(xì)化、開(kāi)運(yùn)算和閉運(yùn)算等等。2.2加噪聲干擾圖像圖像噪聲是圖像在攝取或傳輸時(shí)所受的隨機(jī)信號(hào)干擾,是圖像中各種妨礙人們對(duì)其信息接受的

8、因素。噪聲在理論上可以定義為“不可預(yù)測(cè),只能用概率統(tǒng)計(jì)方法來(lái)認(rèn)識(shí)的隨機(jī)誤差。因此將圖像噪聲看成是多維隨機(jī)過(guò)程是合適的,因而描述噪聲的方法完全可以借用隨機(jī)過(guò)程的描述,即用其概率分布函數(shù)和概率密度分布函數(shù)。2.3真色彩增強(qiáng)與減弱真彩色增強(qiáng)所處理的對(duì)象不是一幅灰度圖像,而是一幅自然色彩圖像或是同一景物的多光譜圖像,它是從彩色到彩色的一種轉(zhuǎn)換。通過(guò)映射函數(shù)變換成新的三基色分量,彩色合成使得增強(qiáng)圖像中各目標(biāo)呈現(xiàn)出于原圖像中不同的彩色,這種技術(shù)稱(chēng)為真彩色增強(qiáng)。真彩色增強(qiáng)的目的有兩個(gè):一個(gè)是變換圖像的色彩,引起人們的特別關(guān)注;另一個(gè)是由于人眼對(duì)不同顏色的靈敏度不同,使景物呈現(xiàn)出與人眼色覺(jué)相匹配的顏色,以提高

9、人眼對(duì)目標(biāo)的分辨力。2.4偽彩色處理的原理  偽彩色處理是指將黑白圖像轉(zhuǎn)化為彩色圖像,或者是將單色圖像變換成給定彩色分布圖像。由于人眼對(duì)彩色的分辨能力遠(yuǎn)遠(yuǎn)高于對(duì)灰度的分辨能力,所以將灰度圖像轉(zhuǎn)化成彩色表示,就可以提高對(duì)圖像細(xì)節(jié)的辨別力。因此,偽色彩處理的主要目的是為了提高人眼對(duì)圖像細(xì)節(jié)的分辨能力,以達(dá)到圖像增強(qiáng)的目的。 偽彩色處理的基本原理是將黑白圖像或者單色圖像的各個(gè)灰度級(jí)匹配到彩色空間中的一點(diǎn),從而使單色圖像映射成彩色圖像。對(duì)黑白圖像中不同的灰度賦予不同的彩色。 設(shè)f(x,y)為一幅黑白圖像,R(x,y),G(x,y),B(x,y)為f 值得注意的是

10、,偽彩色雖然能將黑白灰度轉(zhuǎn)化為彩色,但這種彩色并不是真正表現(xiàn)圖像的原始顏色,而僅僅是一種便于識(shí)別的偽彩色。2.5中值濾波 中值濾波是基于排序統(tǒng)計(jì)理論的一種能有效抑制噪聲的非線性信號(hào)處理技術(shù),中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值代替,讓周?chē)南袼刂到咏恼鎸?shí)值,從而消除孤立的噪聲點(diǎn)。方法是用某種結(jié)構(gòu)的二維滑動(dòng)模板,將板內(nèi)像素按照像素值的大小進(jìn)行排序,生成單調(diào)上升(或下降)的為二維數(shù)據(jù)序列。二維中值濾波輸出為g(x,y)=medf(x-k,y-l),(k,lW) ,其中,f(x,y),g(x,y)分別為原始圖像和處理后圖像。W為二維模板,通常為2*2,3

11、*3區(qū)域,也可以是不同的的形狀,如線狀,圓形,十字形,圓環(huán)形等。 2.6運(yùn)動(dòng)模糊圖象的復(fù)原方法及原理為了抑制退化而利用有關(guān)退化性質(zhì)知識(shí)的預(yù)處理方法為圖象復(fù)原。多數(shù)圖象復(fù)原方法是基于整幅圖象上的全局性卷積法。圖象的退化可能有多種原因:光學(xué)透鏡的殘次、光電傳感器的非線性、膠片材料的顆粒度、物體與攝像機(jī)間的相對(duì)運(yùn)動(dòng)、不當(dāng)?shù)慕咕?、遙感或天文中大氣的擾動(dòng)、照片的掃描等等。圖象復(fù)原的目標(biāo)是從退化圖象中重構(gòu)出原始圖象。運(yùn)動(dòng)模糊圖象的恢復(fù)是圖象復(fù)原的主要分支之一,它的恢復(fù)算法有很多種。有些算法雖然有很好的恢復(fù)效果,但算法復(fù)雜,恢復(fù)時(shí)間比較長(zhǎng)(如最大熵法)。有些算法雖然計(jì)算速度較快,但恢復(fù)效果不盡人意(如空間域

12、逆向恢復(fù))。下面介紹逆濾波、維納濾波和有約束最小二乘濾波三種恢復(fù)方法的原理。2.7均值濾波均值濾波是典型的線性濾波算法,它是指在圖像上對(duì)目標(biāo)像素給一個(gè)模板,該模板包括了其周?chē)呐R近像素(以目標(biāo)象素為中心的周?chē)?個(gè)象素,構(gòu)成一個(gè)濾波模板,即去掉目標(biāo)象素本身)。再用模板中的全體像素的平均值來(lái)代替原來(lái)像素值。均值濾波也稱(chēng)為線性濾波,其采用的主要方法為鄰域平均法。線性濾波的基本原理是用均值代替原圖像中的各個(gè)像素值,即對(duì)待處理的當(dāng)前像素點(diǎn)(x,y),選擇一個(gè)模板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦予當(dāng)前像素點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度個(gè)g(x,y),即個(gè)g(

13、x,y)=1/m f(x,y) m為該模板中包含當(dāng)前像素在內(nèi)的像素總個(gè)數(shù)。2.8直方圖均衡化  利用直方圖統(tǒng)計(jì)的結(jié)果,通過(guò)使圖像的直方圖均衡的方法稱(chēng)為直方圖均衡化,可以達(dá)到增強(qiáng)圖像的顯示效果的作用。由于通過(guò)直方圖統(tǒng)計(jì),可以觀察出,圖像中各種亮度所占的比例大都分布不均勻,設(shè)法增加在直方圖統(tǒng)計(jì)中所占比例高的像素和其他占的比例少的像素之間的亮度差,可以提高圖像的顯示效果。簡(jiǎn)單來(lái)說(shuō),直方圖增強(qiáng)的方法就是壓縮直方圖中比例少的像素所占用的灰度范圍,多出來(lái)的灰度空間按照統(tǒng)計(jì)比例分配給直方圖中比例高的像素使用。這種方法主要是針對(duì)人眼對(duì)灰度差別越大的圖像更容易分辨的特點(diǎn)而做的增強(qiáng)。2.9圖象銳化的原理

14、  數(shù)字圖像的銳化可分為線性銳化濾波和非線性銳化濾波。如果輸出像素是輸入像素領(lǐng)域像素的線性組合則稱(chēng)為線性濾波,否則稱(chēng)為非線性濾波。 1)線性銳化濾波器 線性高通濾波器是最常用的線性銳化濾波器。這種濾波器必須滿足濾波器的中心系數(shù)為正數(shù),其他系數(shù)為負(fù)數(shù)。線性高通濾波器3×3模板的典型系數(shù) 2)非線性銳化濾波器 非線性銳化濾波就是使用微分對(duì)圖像進(jìn)行處理,以此來(lái)銳化由于鄰域平均導(dǎo)致的模糊圖像。圖像處理中最常用的微分是利用圖y像沿某個(gè)方向上的灰度變化率,即原圖像函數(shù)的梯度。梯度定義如下: xf=f(x,y)-f(x+1,y) 

15、;xf=f(x,y)-f(x,y+1) 梯度模的表達(dá)式如下: f=xf+yf 在數(shù)字圖像處理中,數(shù)據(jù)是離散的,幅值是有限的,其發(fā)生的最短距離是在兩相鄰像素之間。因此在數(shù)字圖像處理中通常采用一階差分來(lái)定義微分算子。  其差分形式為: xf=f(x+1,y)-f(x,y) yf=f(x,y+1)-f(x,y) 比較有名的微分濾波器算子包括Sobel 梯度算子、Prewitt 梯度算子和log算子,等等。3、實(shí)驗(yàn)內(nèi)容與結(jié)果分析3.1二值圖像 上圖是原圖像經(jīng)過(guò)二值化后的結(jié)果,二值圖像是一種簡(jiǎn)單的圖像格式

16、,它只有兩個(gè)灰度級(jí),即"0"表示黑色的像素點(diǎn),"255"表示白色的像素點(diǎn)。二值化后圖像有黑白兩種圖像信息,二值化后的圖像可增加辨識(shí)度。二值圖像處理操作有許多方法,如腐蝕、膨脹、細(xì)化、開(kāi)運(yùn)算和閉運(yùn)算等等。3.2加噪聲干擾圖像 上圖是添加高斯噪聲干擾和添加了椒鹽噪聲干擾的圖像,添加噪聲干擾是為了模仿圖像在拍攝過(guò)程中產(chǎn)生的各種噪聲干擾,再通過(guò)濾波去除圖像噪聲?;蚴窃谠肼暡粔蛎黠@的情況下先進(jìn)行補(bǔ)噪,再去噪。3.3真色彩增強(qiáng)與減弱通過(guò)映射函數(shù)變換成新的三基色分量,彩色合成使得增強(qiáng)圖像中各目標(biāo)呈現(xiàn)出于原圖像中不同的彩色,通過(guò)對(duì)真色彩的調(diào)整,使景物呈現(xiàn)出與人眼色覺(jué)相匹

17、配的顏色,提高人眼對(duì)目標(biāo)的分辨力。3.4灰度分層法偽色彩圖像 從圖片對(duì)比可以看到,黑白圖像中的灰度被賦予不同的彩色,提高人眼對(duì)圖像細(xì)節(jié)的分辨能力,達(dá)到了圖像增強(qiáng)的目的。偽彩色雖然能將黑白灰度轉(zhuǎn)化為彩色,但這種彩色并不是真正表現(xiàn)圖像的原始顏色,而僅僅是一種便于識(shí)別的偽彩色。 3.5中值濾波 由圖可見(jiàn),對(duì)有椒鹽噪聲和高斯噪聲的圖像,進(jìn)行中值濾波,對(duì)于消除孤立點(diǎn)和線段的干擾中值濾波十分有效,對(duì)于高斯噪聲則效果不佳。中值濾波的優(yōu)點(diǎn)在于去除噪聲的同時(shí),還能保護(hù)圖像的邊緣信息。3.6運(yùn)動(dòng)模糊從恢復(fù)的圖像來(lái)看,效果還是可以的,因?yàn)檫@里采用了真實(shí)PSF 函數(shù)來(lái)恢復(fù),但是實(shí)際生活當(dāng)中大多數(shù)情況下PSF

18、 是不知道的,所以要按照具體情況具體分析然后再恢復(fù)圖像。綜合以上兩種方法,通過(guò)對(duì)多幅圖像的處理并比較可以看出維納濾波處理效果較好,而最小二乘方法處理效果相對(duì)較差。3.7均值濾波3*3模板均值濾波 5*5模板均值濾波 7*7模板均值濾波 比較處理后圖像結(jié)果可知,鄰域平均法的平滑效果與所采用鄰域半徑大小有關(guān)。模板半徑越大,則圖像模糊程度越大。此時(shí),消除噪聲的效果將增強(qiáng),但同時(shí)得到的圖像變得模糊,圖像細(xì)節(jié)銳化程度減弱。3.8直方圖均衡化 由圖可知均衡化處理后的圖象近似均勻分布。均衡化圖象的動(dòng)態(tài)范圍擴(kuò)大了,但擴(kuò)大了量化間隔,而量化級(jí)別反而減少了,因此,原來(lái)灰度不同的象素經(jīng)處理后變相同了,形成了一片的相

19、同灰度的區(qū)域,各區(qū)域之間有明顯的邊界,從而出現(xiàn)了偽輪廓。3.9圖象非線性銳化 非線性銳化濾波就是使用微分對(duì)圖像進(jìn)行處理,以此來(lái)銳化由于鄰域平均導(dǎo)致的模糊圖像。從銳化結(jié)果可以看出prewitt算子的銳化結(jié)果是最好的,其次是sobel算子,而log算子銳化結(jié)果是最差的,邊緣輪廓明顯沒(méi)有增強(qiáng)。 實(shí)驗(yàn)三:數(shù)字圖像分割處理的編程實(shí)現(xiàn)1、實(shí)驗(yàn)?zāi)康?#160; 理解和掌握?qǐng)D像分割的基本理論和算法,練習(xí)使用形態(tài)學(xué)、區(qū)域、邊界和直方圖閥值的方法結(jié)合圖像增強(qiáng)復(fù)原的相關(guān)知識(shí)點(diǎn)對(duì)圖像進(jìn)行分割處理。2、實(shí)驗(yàn)原理2.1直方圖雙峰法閾值分割 灰度直方圖就是灰度級(jí)的像素?cái)?shù)ni與灰度i的二維關(guān)系,它反映了一幅圖像上灰度分布的統(tǒng)

20、計(jì)特性,在MATLAB中使用函數(shù)“imhist.m”來(lái)實(shí)現(xiàn)。 雙峰法就是其中的一種簡(jiǎn)單的閾值分割方法,即如果直方圖呈現(xiàn)明顯的雙峰狀,則選取雙峰之間的谷底所對(duì)應(yīng)的灰度級(jí)作為閾值分割,該方法不適用于直方圖中雙峰差別很大或者雙峰中間谷底比較寬廣而平坦的圖像,以及單峰直方圖的情況。2.2邊緣檢測(cè) 圖像邊緣是圖像最基本的特征,邊緣在圖像分析中起著重要的 用。所謂邊緣(edge)是指圖像局部特征的不連續(xù)性。灰度或結(jié)構(gòu) 信息的突變稱(chēng)為邊緣,例如:灰度級(jí)的突變、顏色的突變、紋理結(jié) 的突變。邊緣是一個(gè)區(qū)域的結(jié)束,也是另一個(gè)區(qū)域的開(kāi)始,利用該 征可以分割圖像。圖像

21、的邊緣有方向的幅度兩個(gè)屬性,沿邊緣方向像素變化平緩, 垂直于邊緣方向像素變化劇烈。邊緣上的這種變化可以用微分算子檢 測(cè)出來(lái),通常用一階導(dǎo)數(shù)或二階導(dǎo)數(shù)來(lái)檢測(cè)邊緣,不同的是一階導(dǎo)數(shù) 認(rèn)為最大值對(duì)應(yīng)邊緣位置,而二階導(dǎo)數(shù)以過(guò)零點(diǎn)對(duì)應(yīng)邊緣位置。實(shí)際上,對(duì)于圖像中的任意方向上的邊緣都可以進(jìn)行類(lèi)似的分析。圖像邊 緣檢測(cè)中對(duì)任意點(diǎn)的一階導(dǎo)數(shù)可以利用該點(diǎn)梯度的幅度來(lái)獲得,二階 導(dǎo)數(shù)可以用拉普拉斯算子得到。3、 實(shí)驗(yàn)內(nèi)容與結(jié)果分析3.1 直方圖雙峰法閾值分割 雙峰法就是其中的一種簡(jiǎn)單的閾值分割方法,即如果直方圖呈現(xiàn)明顯的雙峰狀,則選取雙峰之間的谷底所對(duì)應(yīng)的灰度級(jí)作

22、為閾值分割,該方法不適用于直方圖中雙峰差別很大或者雙峰中間谷底比較寬廣而平坦的圖像。從灰度圖像直方圖可知,直方圖雖呈雙峰但沒(méi)有明顯的谷底,因此用該閾值進(jìn)行分割難將目標(biāo)從圖像中分割出來(lái)。這是由于目標(biāo)與背景的灰度差距不大造成的。3.2邊緣檢測(cè) 從圖中可以看出,在采用一介微分算子進(jìn)行邊緣檢測(cè)時(shí),除了微分算子對(duì)邊緣檢測(cè)結(jié)果有影響外,閾值選擇也對(duì)邊緣檢測(cè)有重要的影響。比較幾種算法檢測(cè)結(jié)果可知,roberts算子提取邊緣較完整,邊緣連續(xù)性較好,優(yōu)于其他算子。其次是sobel算子,而log算子提取的邊緣最差。實(shí)驗(yàn)四:數(shù)字圖像處理的工程編程實(shí)現(xiàn)1、實(shí)驗(yàn)?zāi)康模?)了解并掌握膨脹、腐蝕及開(kāi)運(yùn)算、閉運(yùn)算的基本原理;

23、 (2)編寫(xiě)程序使用開(kāi)運(yùn)算、閉運(yùn)算處理圖像,進(jìn)一步理解開(kāi)運(yùn)算、閉運(yùn)算的實(shí)質(zhì); (3)編寫(xiě)程序使用開(kāi)運(yùn)算、閉運(yùn)算進(jìn)行圖像去噪處理,根據(jù)實(shí)驗(yàn)結(jié)果分析效果;2、實(shí)驗(yàn)原理2.1 形態(tài)學(xué)骨架提取 數(shù)學(xué)形態(tài)學(xué)的骨架化方法。是一門(mén)建立在數(shù)學(xué)圖論基礎(chǔ)上的學(xué)科,是幾何形態(tài)學(xué)分析和描述的有力數(shù)學(xué)工具。它的基本思想是用具有一定形態(tài)的結(jié)構(gòu)元素去量度和提取圖像中的對(duì)應(yīng)形狀以達(dá)到對(duì)圖像分析和識(shí)別的目的。用數(shù)學(xué)形態(tài)學(xué)處理圖像可以簡(jiǎn)化圖像數(shù)據(jù),除去不相干的結(jié)構(gòu),保持它們基本的形狀特性,并且有天然的并行實(shí)現(xiàn)的結(jié)構(gòu)優(yōu)點(diǎn)。 但是利用數(shù)學(xué)形態(tài)學(xué)理論提取物體骨架,存在一些問(wèn)題:一是得到的骨架是非連通的;二

24、是容易受邊界噪聲的影響。把目前形態(tài)學(xué)的骨架提取方法研究范圍從二值圖像推廣到灰度圖像、彩色圖像、三維圖像,可以提高骨架包含信息量,從而提高后期識(shí)別統(tǒng)計(jì)概率。另外提高提取效率,得到實(shí)時(shí)處理的效果成為今后的發(fā)展方向。2.2開(kāi)閉運(yùn)算1.開(kāi)運(yùn)算(先腐蝕后膨脹的過(guò)程):利用它可以消除小物體,在纖細(xì)點(diǎn)處分離物體,平滑較大物體邊界,但同時(shí)并不明顯改變?cè)瓉?lái)物體的面積 2.閉運(yùn)算(先膨脹后腐蝕的過(guò)程):利用它可以填充物體內(nèi)細(xì)小空洞,連接臨近物體、平滑其邊界,但同時(shí)并不明顯改變?cè)瓉?lái)物體的面積  從圖中可以看出,開(kāi)閉運(yùn)算都降低了噪聲,但是開(kāi)運(yùn)算處理中,處理后的圖形與效果比較好,而且尺寸與

25、原來(lái)一樣,但是背景中的噪聲沒(méi)有處理完全。 閉運(yùn)算中,圖像明顯的斷開(kāi),與原圖相差大,但是背景中的噪聲已經(jīng)幾乎沒(méi)有了,先對(duì)于開(kāi)運(yùn)算背景處理效果要好。 綜上可以看出,噪聲處理用開(kāi)閉運(yùn)算都可以,如果要使背景中的噪聲減小,可以選擇先進(jìn)行閉運(yùn)算,如果要使圖像本身保持良好,則可選擇先進(jìn)行開(kāi)運(yùn)算。  2.3腐蝕和膨脹原理 二值圖像基本的形態(tài)學(xué)運(yùn)算是腐蝕和膨脹,簡(jiǎn)單的腐蝕是消除物體的所有邊界點(diǎn)的一種過(guò)程,其結(jié)果是使剩下的物體沿其周邊比原物體小一個(gè)像素的面積。如果物體是圓的,它的直徑在每次腐蝕后將減少兩個(gè)像素,如果物體在某一點(diǎn)處任意方向上連通的像素小于三個(gè),那么該物體經(jīng)過(guò)一次腐蝕后將在該點(diǎn)處分

26、裂為二個(gè)物體。簡(jiǎn)單的膨脹運(yùn)算是將與某物體接觸的所有背景點(diǎn)合并到該物體中的過(guò)程。過(guò)程的結(jié)果是使物體的面積增大了相應(yīng)數(shù)量的點(diǎn),如果物體是圓的,它的直徑在每次膨脹后將增大兩個(gè)像素。如果兩個(gè)物體在某一點(diǎn)的任意方向相隔少于三個(gè)像素,它們將在該點(diǎn)連通起來(lái)。 腐蝕可以消除圖像中小的噪聲區(qū)域,膨脹可以填補(bǔ)物體中的空洞。對(duì)一個(gè)圖像先進(jìn)行腐蝕運(yùn)算然后再膨脹的操作過(guò)程稱(chēng)為開(kāi)運(yùn)算,它可以消除細(xì)小的物體、在纖細(xì)點(diǎn)處分離物體、平滑較大物體的邊界時(shí)不明顯的改變其面積。如果對(duì)一個(gè)圖像先膨脹然后再收縮,我們稱(chēng)之為閉運(yùn)算,它具有填充物體內(nèi)細(xì)小的空洞、連接鄰近物體、在不明顯改變物體面積的情況下平滑其邊界的作用。通常情況下

27、,當(dāng)有噪聲的圖像用閾值二值化后,所得到的邊界是很不平滑的,物體區(qū)域具有一些錯(cuò)判的孔洞,背景區(qū)域散布著一些小的噪聲物體,連續(xù)的開(kāi)和閉運(yùn)算可以顯著的改善這種情況,這時(shí)候需要在連接幾次腐蝕迭代之后,再加上相同次數(shù)的膨脹,才可以產(chǎn)生所期望的效果。2.4傅里葉變換 圖像頻譜是表征圖像灰度變化劇烈程度的指標(biāo),是灰度在平面空間上的梯度。二維傅里葉變換一般用在數(shù)字圖像處理中,一般是二維的灰度圖像f(x,y)變換到頻域F(u,v)在頻譜圖中,中心部分(uv坐標(biāo)系中點(diǎn)(0,0)附近)表示原圖像中的低頻部分,是圖像中灰度變化不太快的成分,反映了圖像的主體框架;而頻譜的四周,也即是高頻區(qū)域是圖像中灰度變化較快的成分,

28、一般反映著圖像中的椒鹽噪聲(突發(fā)性的白點(diǎn)或黑點(diǎn))或者是圖像內(nèi)部變化劇烈的邊緣成分。如果原始圖像具有十分明顯的規(guī)律,例如將一個(gè)簡(jiǎn)單圖樣有規(guī)律的平移并填滿整個(gè)圖形,那么其頻譜一般表現(xiàn)為坐標(biāo)原點(diǎn)周?chē)囊蝗α咙c(diǎn)。3、實(shí)驗(yàn)內(nèi)容與結(jié)果分析3.1 形態(tài)學(xué)骨架提取 從實(shí)驗(yàn)結(jié)果現(xiàn)象,可以看出所得到的骨架是非連通的,采用數(shù)學(xué)形態(tài)學(xué)處理圖像可以簡(jiǎn)化圖像數(shù)據(jù),除去不相干的結(jié)構(gòu),保持它們基本的形狀特性,但從結(jié)果來(lái)看對(duì)于該圖像采用形態(tài)學(xué)骨架提取效果并不理想。3.2開(kāi)閉運(yùn)算 圖1為用三階單位矩陣的結(jié)構(gòu)元素進(jìn)行開(kāi)運(yùn)算結(jié)果;圖2為用三階單位矩陣的結(jié)構(gòu)元素進(jìn)行閉運(yùn)算結(jié)果;圖3為用原點(diǎn)到頂點(diǎn)距離均為2的平坦菱形結(jié)構(gòu)進(jìn)行開(kāi)運(yùn)算結(jié)果;

29、圖4為用原點(diǎn)到頂點(diǎn)距離均為2的平坦菱形結(jié)構(gòu)進(jìn)行閉運(yùn)算結(jié)果。開(kāi)運(yùn)算顯示對(duì)圖形進(jìn)行腐蝕消除了點(diǎn)噪聲,平滑邊界,再進(jìn)行膨脹使圖像恢復(fù)原來(lái)尺寸,閉運(yùn)算則是先膨脹時(shí)原來(lái)的噪聲加大,連接臨近物體,再腐蝕以恢復(fù)原來(lái)尺寸,因此出現(xiàn)了以上圖像中兩種不同的處理效果。3.3灰度腐蝕與膨脹從圖中對(duì)比可知,灰度圖像的腐蝕,如果結(jié)構(gòu)元素的值都為正,則輸出圖像會(huì)比輸入圖像暗;如果輸入圖像中亮細(xì)節(jié)的尺寸比結(jié)構(gòu)元素小,則其影響會(huì)被減弱,減弱的程度取決于這些亮度細(xì)節(jié)周?chē)幕叶戎岛徒Y(jié)構(gòu)元素的形狀和幅值?;叶葓D像的膨脹運(yùn)算,如果結(jié)構(gòu)元素的值都為正,則輸出圖像比輸入圖像亮,圖像的暗細(xì)節(jié)在膨脹中被消減或被消除。3.4圖像傅里葉變換 通過(guò)

30、觀察傅立葉變換后的頻譜圖,可以看出圖像的能量分布,因?yàn)楦鼽c(diǎn)與鄰域差異都不大,梯度相對(duì)較小,所以頻譜圖中暗的點(diǎn)數(shù)較多,圖像是比較柔和的。對(duì)頻譜移頻到原點(diǎn)以后,可以看出圖像的頻率分布是以原點(diǎn)為圓心,對(duì)稱(chēng)分布的。變換之后的圖像在原點(diǎn)平移之前四角是低頻,最亮,平移之后中間部分是低頻,最亮,亮度大說(shuō)明低頻的能量大。4、 驗(yàn)心得體會(huì)為了完成本次實(shí)驗(yàn),查閱了一些數(shù)字圖像處理的書(shū)籍,也花了較多時(shí)間和精力為實(shí)驗(yàn)做準(zhǔn)備。實(shí)驗(yàn)過(guò)程也犯了一些低級(jí)錯(cuò)誤,比如在對(duì)灰度圖像處理的時(shí)候,沒(méi)有將真色彩圖像進(jìn)行轉(zhuǎn)換,導(dǎo)致編譯老是錯(cuò)誤。通過(guò)本次的圖像處理實(shí)驗(yàn),一方面對(duì)matlab的使用更加的了解,對(duì)matlab程序的編寫(xiě)有了更深的

31、了解,另一方面通過(guò)動(dòng)手實(shí)踐和理論基礎(chǔ)的結(jié)合,對(duì)圖像處理原理的理解有了進(jìn)一步的提高。但同時(shí)也發(fā)現(xiàn)自身的不足,理論知識(shí)比較欠缺,為了方便理解只能選擇比較簡(jiǎn)單的算法對(duì)圖像進(jìn)行處理。希望以后能在圖像處理方面能夠有進(jìn)一步的提高。實(shí)驗(yàn)程序function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure w

32、ith handles and user data (see GUIDATA)I = imread('I:p.bmp');axes(handles.axes1); %使用第一個(gè)axes imshow(I); %顯示圖片;title('原圖');% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserv

33、ed - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = imread('I:p.bmp');axes(handles.axes2); %使用第2個(gè)axesi = rgb2gray(I);%把真色彩轉(zhuǎn)換為灰度圖像imshow(i);title('灰度圖像');% - Executes on button press in pushbutton3.function pushbutton3_Callba

34、ck(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = imread('I:p.bmp');axes(handles.axes2); %使用第2個(gè)axesb = im2bw(I,0.5);imshow(b);title('二值

35、圖像');% - Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = imread('I:p.b

36、mp');J = imnoise(I,'salt & pepper',0.04);%加均值為0,方差為0.04的椒鹽噪聲axes(handles.axes2); imshow(J);title('椒鹽噪聲干擾圖像');J1=imnoise(I,'gaussian',0.04);%加均值為0,方差為0.04的高斯噪聲axes(handles.axes1); %使用第1個(gè)axesimshow(J1);title('高斯噪聲干擾圖像');% - Executes on button press in pushbutton

37、5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I1 = imread('I:p.bmp');I = rgb2gray(I1);axes(handles.axes2); %使用

38、第2個(gè)axesJ=filter2(fspecial('average',3),I)/255;%fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器imshow(J);title('3*3模板均值濾波');axes(handles.axes3); %使用第3個(gè)axesJ2=filter2(fspecial('average',5),I)/255;imshow(J2);title('5*5模板均值濾波');axes(handles.axes4); %使用第4個(gè)axesJ3=filter2(fspecial('average',7)

39、,I)/255;imshow(J3);title('7*7模板均值濾波');% - Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user da

40、ta (see GUIDATA)I = imread('I:p.bmp');m = imadjust(I,0.5;1) ;n = imadjust(I,0;0.5) ;%圖像變暗g=255-I;%負(fù)片效果axes(handles.axes1);imshow(I);title('原圖像')axes(handles.axes2);imshow(m);title('圖像變亮')axes(handles.axes3);imshow(n);title('圖像變暗') axes(handles.axes4);imshow(g);title(&

41、#39;負(fù)片效果') % - Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I1 = imread(

42、9;I:p.bmp');I = rgb2gray(I1);X=grayslice(I,16);%原灰度圖像度分16層,轉(zhuǎn)換為偽色彩圖axes(handles.axes1);imshow(X,hot(16);title('偽色彩圖像')% - Executes on button press in pushbutton8.function pushbutton8_Callback(hObject, eventdata, handles)% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to b

43、e defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I1 = imread('I:p.bmp');I = rgb2gray(I1);J=imnoise(I,'gaussian',0.02);K1 = medfilt2(J,3 3);%對(duì)矩陣i進(jìn)行二維中值濾波,領(lǐng)域?yàn)?*3 axes(handles.axes2);imshow(K1);title('加噪 3*3二維中值濾波');axes(handles.

44、axes3);T=medfilt2(J,5,5);imshow(T);title('加噪 5*5二維中值濾波');axes(handles.axes4);F=medfilt2(J,7,7);imshow(F);title('加噪 7*7二維中值濾波');% - Executes on button press in pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbutton9 (see GCBO)% eventdata r

45、eserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I1 = imread('I:p.bmp');I = rgb2gray(I1);I=double(I);axes(handles.axes1);imshow(uint8(I);I_rot30=imrotate(I,30 ,'nearest');axes(handles.axes2);imshow(uint8(I_rot30);title(&

46、#39;旋轉(zhuǎn)30度');I_rot45=imrotate(I,45 ,'nearest');axes(handles.axes3);imshow(uint8(I_rot45);title('旋轉(zhuǎn)45度');I_rot60=imrotate(I,60 ,'nearest'); axes(handles.axes4);imshow(uint8(I_rot60);title('旋轉(zhuǎn)60度');% - Executes on button press in pushbutton10.function pushbutton10_Ca

47、llback(hObject, eventdata, handles)% hObject handle to pushbutton10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) %圖像錯(cuò)切I = imread('I:p.bmp');I=double(I);H=size(I);B=zeros(H(1)+round(H(2)*tan(pi/6),H(2)

48、,H(3);for a=1:H(1)for b=1:H(2)B(a+round(b*tan(pi/6),b,1:H(3)=I(a,b,1:H(3);endendaxes(handles.axes2);imshow(uint8(B);% - Executes on button press in pushbutton11.function pushbutton11_Callback(hObject, eventdata, handles)% hObject handle to pushbutton11 (see GCBO)% eventdata reserved - to be defined

49、in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = imread('I:p.bmp');I=double(I);H=size(I);I_fliplr(1:H(1),1:H(2),1:H(3)=I(1:H(1),H(2):-1:1,1:H(3);%水平鏡像,fliplr函數(shù)實(shí)現(xiàn)矩陣的左右翻轉(zhuǎn)axes(handles.axes2);imshow(uint8(I_fliplr);title('水平鏡像');I_flipud(1:H(1)

50、,1:H(2),1:H(3)=I(H(1):-1:1,1:H(2),1:H(3);%垂直鏡像,flipud函數(shù)可以實(shí)現(xiàn)矩陣的上下翻轉(zhuǎn)axes(handles.axes3);imshow(uint8(I_flipud);title('垂直鏡像');I_fliplr_flipud(1:H(1),1:H(2),1:H(3)=I(H(1):-1:1,H(2):-1:1,1:H(3);%實(shí)現(xiàn)對(duì)角翻轉(zhuǎn)axes(handles.axes4);imshow(uint8(I_fliplr_flipud);title('對(duì)角鏡像')% - Executes on button pr

51、ess in pushbutton12.function pushbutton12_Callback(hObject, eventdata, handles)% hObject handle to pushbutton12 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = imread('I:p.bmp');I=double(I);axes(handl

52、es.axes2); I_moveresult=zeros(size(I);H=size(I);Move_x=50;Move_y=50;I_moveresult(Move_x+1:H(1),Move_y+1:H(2),1:H(3)=I(1:H(1)-Move_x,1:H(2)-Move_y,1:H(3);imshow(uint8(I_moveresult);% - Executes on button press in pushbutton13.function pushbutton13_Callback(hObject, eventdata, handles)% hObject handle

53、 to pushbutton13 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = imread('I:p.bmp');LEN=30; THETA=75; %設(shè)置運(yùn)動(dòng)角度為75度PSF=fspecial('motion',LEN,THETA);MF=imfilter(I,PSF,'circular','conv&

54、#39;);axes(handles.axes2);imshow(MF);title('運(yùn)動(dòng)模糊');axes(handles.axes1); %使用第一個(gè)axes imshow(I); %顯示圖片;title('原圖');%恢復(fù)圖像wnr2 = deconvwnr(MF, PSF);axes(handles.axes3);imshow(wnr2);title('維納濾波復(fù)原') NP=0.002*prod(size(I);reg1 LAGRA=deconvreg(MF,PSF,NP/3.0);axes(handles.axes4);imshow

55、(reg1);title('最小二乘濾波復(fù)原');% - Executes on button press in pushbutton14.function pushbutton14_Callback(hObject, eventdata, handles)% hObject handle to pushbutton14 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GU

56、IDATA)%空域高通濾波I1 = imread('I:p.bmp');I = rgb2gray(I1); %灰度圖像J=im2double(I);%轉(zhuǎn)換圖像矩陣為雙精度型axes(handles.axes1);imshow(J, );title('原灰度圖像')h1=0 -1 0,-1 -5 -1,0 -1 0;h2=-1 -1 -1,-1 -9 -1,-1 -1 -1;h3=1 -2 1,-2 5 -2,1 -2 1;A=conv2(J,h1,'same');%進(jìn)行二維卷積操作axes(handles.axes2);imshow(A, );t

57、itle('h1算子')B=conv2(J,h2,'same');%進(jìn)行二維卷積操作axes(handles.axes3);imshow(B, );title('h2算子')C=conv2(J,h3,'same');%進(jìn)行二維卷積操作axes(handles.axes4);imshow(C, );title('h3算子')% - Executes on button press in pushbutton15.function pushbutton15_Callback(hObject, eventdata, handles)% hObject handle to pushbutton15 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = imread('I:p.bmp');b = im2bw(I,0.5);axes(handles.axes1); %使用第1個(gè)axesimshow(b);title('二值圖像');F=bwm

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論