




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)字圖像處理實(shí)驗(yàn)指導(dǎo)書目錄實(shí)驗(yàn)一 MATLAB數(shù)字圖像處理初步實(shí)驗(yàn)二 圖像的代數(shù)運(yùn)算實(shí)驗(yàn)三 圖像增強(qiáng)-空間濾波實(shí)驗(yàn)四 圖像分割1實(shí)驗(yàn)一 MATLAB數(shù)字圖像處理初步一、實(shí)驗(yàn)?zāi)康呐c要求1熟悉及掌握在MATLAB中能夠處理哪些格式圖像。2熟練掌握在MATLAB中如何讀取圖像。3掌握如何利用MATLAB來獲取圖像的大小、顏色、高度、寬度等等相關(guān)信息。4掌握如何在MATLAB中按照指定要求存儲(chǔ)一幅圖像的方法。5圖像間如何轉(zhuǎn)化。二、實(shí)驗(yàn)原理及知識(shí)點(diǎn)1、數(shù)字圖像的表示和類別一幅圖像可以被定義為一個(gè)二維函數(shù)f(x,y),其中x和y是空間(平面)坐標(biāo),f 在任何坐標(biāo)處(x,y)處的振幅稱為圖像在該點(diǎn)的亮度。灰
2、度是用來表示黑白圖像亮度的一個(gè)術(shù)語,而彩色圖像是由單個(gè)二維圖像組合形成的。例如,在RGB彩色系統(tǒng)中,一幅彩色圖像是由三幅獨(dú)立的分量圖像(紅、綠、藍(lán))組成的。因此,許多為黑白圖像處理開發(fā)的技術(shù)適用于彩色圖像處理,方法是分別處理三副獨(dú)立的分量圖像即可。圖像關(guān)于x和y坐標(biāo)以及振幅連續(xù)。要將這樣的一幅圖像轉(zhuǎn)化為數(shù)字形式,就要求數(shù)字化坐標(biāo)和振幅。將坐標(biāo)值數(shù)字化成為取樣;將振幅數(shù)字化成為量化。采樣和量化的過程如圖1所示。因此,當(dāng)f的x、y分量和振幅都是有限且離散的量時(shí),稱該圖像為數(shù)字圖像。作為MATLAB基本數(shù)據(jù)類型的數(shù)值數(shù)組本身十分適于表達(dá)圖像,矩陣的元素和圖像的像素之間有著十分自然的對(duì)應(yīng)關(guān)系。圖1 圖
3、像的采樣和量化根據(jù)圖像數(shù)據(jù)矩陣解釋方法的不同,MATLAB把其處理為4類:Ø 亮度圖像(Intensity images)Ø 二值圖像(Binary images)Ø 索引圖像(Indexed images)Ø RGB圖像(RGB images)(1) 亮度圖像一幅亮度圖像是一個(gè)數(shù)據(jù)矩陣,其歸一化的取值表示亮度。若亮度圖像的像素都是uint8類或uint16類,則它們的整數(shù)值范圍分別是0,255和0,65536。若圖像是double類,則像素取值就是浮點(diǎn)數(shù)。規(guī)定雙精度型歸一化亮度圖像的取值范圍是0,1 (2) 二值圖像一幅二值圖像是一個(gè)取值只有0和1的邏
4、輯數(shù)組。而一幅取值只包含0和1的uint8類數(shù)組,在MATLAB中并不認(rèn)為是二值圖像。使用logical函數(shù)可以把數(shù)值數(shù)組轉(zhuǎn)化為二值數(shù)組或邏輯數(shù)組。創(chuàng)建一個(gè)邏輯圖像,其語法為: B=logical(A)其中,B是由0和1構(gòu)成的數(shù)值數(shù)組。要測(cè)試一個(gè)數(shù)組是否為邏輯數(shù)組,可以使用函數(shù): islogical(c)若C是邏輯數(shù)組,則該函數(shù)返回1;否則,返回0。(3) 索引圖像索引顏色通常也稱為映射顏色,在這種模式下,顏色都是預(yù)先定義的,并且可供選用的一組顏色也很有限,索引顏色的圖像最多只能顯示256種顏色。一幅索引顏色圖像在圖像文件里定義,當(dāng)打開該文件時(shí),構(gòu)成該圖像具體顏色的索引值就被讀入程序里,然后根
5、據(jù)索引值找到最終的顏色。 (4) RGB圖像一幅RGB圖像就是彩色像素的一個(gè)M×N×3數(shù)組,其中每一個(gè)彩色相似點(diǎn)都是在特定空間位置的彩色圖像相對(duì)應(yīng)的紅、綠、藍(lán)三個(gè)分量。按照慣例,形成一幅RGB彩色圖像的三個(gè)圖像常稱為紅、綠或藍(lán)分量圖像。令fR,fG和fB分別代表三種RGB分量圖像。一幅RGB圖像就利用cat(級(jí)聯(lián))操作將這些分量圖像組合成彩色圖像: rgb_image=cat(3,fR,fG,fB)在操作中,圖像按順序放置。 2、數(shù)據(jù)類和圖像類型間的轉(zhuǎn)化表1中列出了MATLAB和IPT為表示像素所支持的各種數(shù)據(jù)類。表中的前8項(xiàng)稱為數(shù)值數(shù)據(jù)類,第9項(xiàng)稱為字符類,最后一項(xiàng)稱為邏
6、輯數(shù)據(jù)類。工具箱中提供了執(zhí)行必要縮放的函數(shù)(見表2)。以在圖像類和類型間進(jìn)行轉(zhuǎn)化。表1-1 MATLAB和IPT支持?jǐn)?shù)據(jù)類型名稱描述double雙精度浮點(diǎn)數(shù),范圍為uint8無符號(hào)8比特整數(shù),范圍為0 255uint16無符號(hào)16比特整數(shù),范圍為0 65536uint32無符號(hào)32比特整數(shù),范圍為0 4294967295int8有符號(hào)8比特整數(shù),范圍為-128 127int16有符號(hào)16比特整數(shù),范圍為-32768 32767int32有符號(hào)32比特整數(shù),范圍為-2147483648 2147483647single單精度浮點(diǎn)數(shù),范圍為char字符logical值為0或1表1-2 格式轉(zhuǎn)換函數(shù)
7、名稱將輸入轉(zhuǎn)化為有效的輸入圖像數(shù)據(jù)類im2uint8uint8logical,uint8,uint16和doulbeim2uint16uint16logical,uint8,uint16和doulbemat2graydouble,范圍為0 1doubleim2doubledoublelogical,uint8,uint16和doulbeim2bwlogicaluint8,uint16和double 下面給出讀取、壓縮、顯示一幅圖像的程序(%后面的語句屬于標(biāo)記語句,編程時(shí)可不用輸入)I=imread(原圖像名.tif); % 讀入原圖像,tif格式whos I % 顯示圖像I的基本信息imsho
8、w(I) % 顯示圖像% 這種格式知識(shí)用于jpg格式,壓縮存儲(chǔ)圖像,q是0-100之間的整數(shù)imfinfo lily.tif imwrite(I,'flower.jpg','quality',30); imwrite(I,'flower.bmp'); % 以位圖(BMP)的格式存儲(chǔ)圖像% 顯示多幅圖像,其中n為圖形窗口的號(hào)數(shù)figure(1 2 3), imshow('tif jpg bmp'); gg=im2bw(I,0.6'); % 將圖像轉(zhuǎn)為二值圖像figure, imshow(gg) % 顯示二值圖像三、實(shí)驗(yàn)內(nèi)容及
9、步驟1利用imread( )函數(shù)讀取一幅圖像,假設(shè)其名為flower.tif,存入一個(gè)數(shù)組中;2利用whos 命令提取該讀入圖像flower.tif的基本信息;3利用imshow()函數(shù)來顯示這幅圖像;4利用imfinfo函數(shù)來獲取圖像文件的壓縮,顏色等等其他的詳細(xì)信息;5利用imwrite()函數(shù)來壓縮這幅圖象,將其保存為一幅壓縮了像素的jpg文件,設(shè)為flower.jpg;語法:imwrite(原圖像,新圖像,quality,q), q取0-100。6同樣利用imwrite()函數(shù)將最初讀入的tif圖象另存為一幅bmp圖像,設(shè)為flower.bmp。7用imread()讀入圖像:Lenna
10、.jpg 和camema.jpg;8用imfinfo()獲取圖像Lenna.jpg和camema.jpg 的大小;9用figure,imshow()分別將Lenna.jpg和camema.jpg顯示出來,觀察兩幅圖像的質(zhì)量。10用im2bw將一幅灰度圖像轉(zhuǎn)化為二值圖像,并且用imshow顯示出來觀察圖像的特征。11將每一步的函數(shù)執(zhí)行語句拷貝下來,寫入實(shí)驗(yàn)報(bào)告,并且將得到第3、9、10步得到的圖像效果拷貝下來。四、考核要點(diǎn)1、熟悉在MATLAB中如何讀入圖像、如何獲取圖像文件的相關(guān)信息、如何顯示圖像及保存圖像等,熟悉相關(guān)的處理函數(shù)。2、明確不同的圖像文件格式,由于其具體的圖像存儲(chǔ)方式不同,所以文
11、件的大小不同,因此當(dāng)對(duì)同一幅圖像來說,有相同的文件大小時(shí),質(zhì)量不同。五、實(shí)驗(yàn)儀器與軟件(1) PC計(jì)算機(jī)(2) MatLab軟件/語言包括圖像處理工具箱(Image Processing Toolbox) (3) 實(shí)驗(yàn)所需要的圖片 六、實(shí)驗(yàn)報(bào)告要求描述實(shí)驗(yàn)的基本步驟,用數(shù)據(jù)和圖片給出各個(gè)步驟中取得的實(shí)驗(yàn)結(jié)果和源代碼,并進(jìn)行必要的討論,必須包括原始圖像及其計(jì)算/處理后的圖像。七、思考題(1) 簡(jiǎn)述MatLab軟件的特點(diǎn)。(2) MatLab軟件可以支持哪些圖像文件格式? (3) 說明函數(shù)imread 的用途格式以及各種格式所得到圖像的性質(zhì)。(4) 為什么用I = imread(lena.bmp)
12、 命令得到的圖像I 不可以進(jìn)行算術(shù)運(yùn)算?八、實(shí)驗(yàn)圖像 Fig.1 flower.tif Fig.2 elephant.jpg Fig.3 Lenna.jpg Fig.4 camema.jpg 第二 圖像基本運(yùn)算一、 實(shí)驗(yàn)?zāi)康?了解圖像的算術(shù)運(yùn)算在數(shù)字圖像處理中的初步應(yīng)用。2體會(huì)圖像算術(shù)運(yùn)算處理的過程和處理前后圖像的變化。二、 實(shí)驗(yàn)原理圖像的代數(shù)運(yùn)算是圖像的標(biāo)準(zhǔn)算術(shù)操作的實(shí)現(xiàn)方法,是兩幅輸入圖像之間進(jìn)行的點(diǎn)對(duì)點(diǎn)的加、減、乘、除運(yùn)算后得到輸出圖像的過程。如果輸入圖像為A(x,y)和B(x,y),輸出圖像為C(x,y),則圖像的代數(shù)運(yùn)算有如下四種形式: C(x,y) = A(x,y) + B(x,y
13、) C(x,y) = A(x,y) - B(x,y) C(x,y) = A(x,y) * B(x,y) C(x,y) = A(x,y) / B(x,y)圖像的代數(shù)運(yùn)算在圖像處理中有著廣泛的應(yīng)用,它除了可以實(shí)現(xiàn)自身所需的算術(shù)操作,還能為許多復(fù)雜的圖像處理提供準(zhǔn)備。例如,圖像減法就可以用來檢測(cè)同一場(chǎng)景或物體生產(chǎn)的兩幅或多幅圖像的誤差。使用MATLAB的基本算術(shù)符(+、-、*、/ 等)可以執(zhí)行圖像的算術(shù)操作,但是在此之前必須將圖像轉(zhuǎn)換為適合進(jìn)行基本操作的雙精度類型。為了更方便地對(duì)圖像進(jìn)行操作,MATLAB圖像處理工具箱包含了一個(gè)能夠?qū)崿F(xiàn)所有非稀疏數(shù)值數(shù)據(jù)的算術(shù)操作的函數(shù)集合。下表列舉了所有圖像處理工
14、具箱中的圖像代數(shù)運(yùn)算函數(shù)。表2-1 圖像處理工具箱中的代數(shù)運(yùn)算函數(shù)函數(shù)名功能描述Imabsdiff兩幅圖像的絕對(duì)差值Imadd兩幅圖像的加法Imcomplement補(bǔ)足一幅圖像Imdivide兩幅圖像的除法Imlincomb計(jì)算兩幅圖像的線性組合Immultiply兩幅圖像的乘法imsubtract兩幅圖像的減法使用圖像處理工具箱中的圖像代數(shù)運(yùn)算函數(shù)無需再進(jìn)行數(shù)據(jù)類型間的轉(zhuǎn)換,這些函數(shù)能夠接受uint8和uint16數(shù)據(jù),并返回相同格式的圖像結(jié)果。雖然在函數(shù)執(zhí)行過程中元素是以雙精度進(jìn)行計(jì)算的,但是MATLAB工作平臺(tái)并不會(huì)將圖像轉(zhuǎn)換為雙精度類型。代數(shù)運(yùn)算的結(jié)果很容易超出數(shù)據(jù)類型允許的范圍。例如
15、,uint8數(shù)據(jù)能夠存儲(chǔ)的最大數(shù)值是255,各種代數(shù)運(yùn)算尤其是乘法運(yùn)算的結(jié)果很容易超過這個(gè)數(shù)值,有時(shí)代數(shù)操作(主要是除法運(yùn)算)也會(huì)產(chǎn)生不能用整數(shù)描述的分?jǐn)?shù)結(jié)果。圖像的代數(shù)運(yùn)算函數(shù)使用以下截取規(guī)則使運(yùn)算結(jié)果符合數(shù)據(jù)范圍的要求:超出數(shù)據(jù)范圍的整型數(shù)據(jù)將被截取為數(shù)據(jù)范圍的極值,分?jǐn)?shù)結(jié)果將被四舍五入。例如,如果數(shù)據(jù)類型是uint8,那么大于255的結(jié)果(包括無窮大inf)將被設(shè)置為255。注意:無論進(jìn)行哪一種代數(shù)運(yùn)算都要保證兩幅輸入圖像的大小相等,且類型相同。三、 實(shí)驗(yàn)步驟1圖像的加法運(yùn)算圖像相加一般用于對(duì)同一場(chǎng)景的多幅圖像求平均效果,以便有效地降低具有疊加性質(zhì)的隨機(jī)噪聲。直接采集的圖像品質(zhì)一般都較好
16、,不需要進(jìn)行加法運(yùn)算處理,但是對(duì)于那些經(jīng)過長(zhǎng)距離模擬通訊方式傳送的圖像(如衛(wèi)星圖像),這種處理是必不可少的。在MATLAB中,如果要進(jìn)行兩幅圖像的加法,或者給一幅圖像加上一個(gè)常數(shù),可以調(diào)用imadd函數(shù)來實(shí)現(xiàn)。imadd函數(shù)將某一幅輸入圖像的每一個(gè)像素值與另一幅圖像相應(yīng)的像素值相加,返回相應(yīng)的像素值之和作為輸出圖像。imadd函數(shù)的調(diào)用格式如下:Z = imadd(X,Y)其中,X和Y表示需要相加的兩幅圖像,返回值Z表示得到的加法操作結(jié)果。圖像加法在圖像處理中應(yīng)用非常廣泛。例如,以下代碼使用加法操作將圖2.1中的(a)、(b)兩幅圖像疊加在一起:I = imread(rice.tif);J =
17、 imread(cameraman.tif);K = imadd(I,J);imshow(K);疊加結(jié)果如圖2.2所示。 圖2.1 待疊加的兩幅圖像 圖2.2 疊加后的圖像效果給圖像的每一個(gè)像素加上一個(gè)常數(shù)可以使圖像的亮度增加。例如,以下代碼將增加圖3(a)所示的RGB圖像的亮度,加亮后的結(jié)果如圖3(b)所示。RGB = imread(flower.tif);RGB2 = imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB2); 加50 減50原圖 加50 減50圖2.3 亮度增加與變暗兩幅圖像的像素值相加時(shí)產(chǎn)生
18、的結(jié)果很可能超過圖像數(shù)據(jù)類型所支持的最大值,尤其對(duì)于uint8類型的圖像,溢出情況最為常見。當(dāng)數(shù)據(jù)值發(fā)生溢出時(shí),imadd函數(shù)將數(shù)據(jù)截取為數(shù)據(jù)類型所支持的最大值,這種截取效果稱之為飽和。為了避免出現(xiàn)飽和現(xiàn)象,在進(jìn)行加法計(jì)算前最好將圖像轉(zhuǎn)換為一種數(shù)據(jù)范圍較寬的數(shù)據(jù)類型。例如,在加法操作前將uint8圖像轉(zhuǎn)換為uint16類型。2圖像的減法運(yùn)算圖像減法也稱為差分方法,是一種常用于檢測(cè)圖像變化及運(yùn)動(dòng)物體的圖像處理方法。圖像減法可以作為許多圖像處理工作的準(zhǔn)備步驟。例如,可以使用圖像減法來檢測(cè)一系列相同場(chǎng)景圖像的差異。圖像減法與閾值化處理的綜合使用往往是建立機(jī)器視覺系統(tǒng)最有效的方法之一。在利用圖像減法處
19、理圖像時(shí)往往需要考慮背景的更新機(jī)制,盡量補(bǔ)償由于天氣、光照等因素對(duì)圖像顯示效果造成的影響。在MATLAB中,使用imsubtract函數(shù)可以將一幅圖像從另一幅圖像中減去,或者從一幅圖像中減去一個(gè)常數(shù)。imsubtract函數(shù)將一幅輸入圖像的像素值從另一幅輸入圖像相應(yīng)的像素值中減去,再將這個(gè)結(jié)果作為輸出圖像相應(yīng)的像素值。imsubtract函數(shù)的調(diào)用格式如下:Z = imsubtract(X,Y);其中,Z是X-Y操作的結(jié)果。以下代碼首先根據(jù)原始圖像(如圖2.4(a)所示)生成其背景亮度圖像,然后再?gòu)脑紙D像中將背景亮度圖像減去,從而生成圖2.4(b)所示的圖像:rice = imread(ri
20、ce.tif);background = imopen(rice, strel(disk,15);rice2 = imsubtract(rice, background);subplot(1,2,1);imshow(rice);subplot(1,2,2);imshow(rice2); 圖2.4 原始圖像、減去背景圖像如果希望從圖像數(shù)據(jù)I的每一個(gè)像素減去一個(gè)常數(shù),可以將上述調(diào)用格式中的Y替換為一個(gè)指定的常數(shù)值,例如:Z = imsubtract(I,50);減法操作有時(shí)會(huì)導(dǎo)致某些像素值變?yōu)橐粋€(gè)負(fù)數(shù),對(duì)于uint8或uint16類型的數(shù)據(jù),如果發(fā)生這種情況,那么imsubtract函數(shù)自動(dòng)將這些
21、負(fù)數(shù)截取為0。為了避免差值產(chǎn)生負(fù)值,同時(shí)避免像素值運(yùn)算結(jié)果之間產(chǎn)生差異,可以調(diào)用函數(shù)imabsdiff。imabsdiff將計(jì)算兩幅圖像相應(yīng)像素差值的絕對(duì)值,因而返回結(jié)果不會(huì)產(chǎn)生負(fù)數(shù)。該函數(shù)的調(diào)用格式與imsubtract函數(shù)類似。3. 圖像的乘法運(yùn)算兩幅圖像進(jìn)行乘法運(yùn)算可以實(shí)現(xiàn)掩模操作,即屏蔽掉圖像的某些部分。一幅圖像乘以一個(gè)常數(shù)通常被稱為縮放,這是一種常見的圖像處理操作。如果使用的縮放因子大于1,那么將增強(qiáng)圖像的亮度,如果因子小于1則會(huì)使圖像變暗。縮放通常將產(chǎn)生比簡(jiǎn)單添加像素偏移量自然得多的明暗效果,這是因?yàn)檫@種操作能夠更好地維持圖像的相關(guān)對(duì)比度。此外,由于時(shí)域的卷積或相關(guān)運(yùn)算與頻域的乘積
22、運(yùn)算對(duì)應(yīng),因此乘法運(yùn)算有時(shí)也被作為一種技巧來實(shí)現(xiàn)卷積或相關(guān)處理。在MATLAB中,使用immultiply函數(shù)實(shí)現(xiàn)兩幅圖像的乘法。immultiply函數(shù)將兩幅圖像相應(yīng)的像素值進(jìn)行元素對(duì)元素的乘法操作(MATLAB點(diǎn)乘),并將乘法的運(yùn)算結(jié)果作為輸出圖形相應(yīng)的像素值。immulitply函數(shù)的調(diào)用格式如下:Z = immulitply(X,Y)其中,Z=X*Y。例如,以下代碼將使用給定的縮放因子對(duì)圖2.5(a)所示的圖像進(jìn)行縮放,從而得到如圖2.5(b)所示的較為明亮的圖像:I = imread(moon.tif);J = immultiply(I,1.2);subplot(1,2,1);ims
23、how(I);subplot(1,2,2);imshow(J); 圖2.5 原圖和乘以因子1.5 的圖像uint8圖像的乘法操作一般都會(huì)發(fā)生溢出現(xiàn)象。Immultiply函數(shù)將溢出的數(shù)據(jù)截取為數(shù)據(jù)類型的最大值。為了避免產(chǎn)生溢出現(xiàn)象,可以在執(zhí)行乘法操作之前將uint8圖像轉(zhuǎn)換為一種數(shù)據(jù)范圍較大的圖像類型,例如uint16。4圖像的除法運(yùn)算除法運(yùn)算可用于校正成像設(shè)備的非線性影響,這在特殊形態(tài)的圖像(如斷層掃描等醫(yī)學(xué)圖像)處理中常常用到。圖像除法也可以用來檢測(cè)兩幅圖像間的區(qū)別,但是除法操作給出的是相應(yīng)像素值的變化比率,而不是每個(gè)像素的絕對(duì)差異,因而圖像除法也稱為比率變換。在MATLAB中使用imdi
24、vide函數(shù)進(jìn)行兩幅圖像的除法。imdivide函數(shù)對(duì)兩幅輸入圖像的所有相應(yīng)像素執(zhí)行元素對(duì)元素的除法操作(點(diǎn)除),并將得到的結(jié)果作為輸出圖像的相應(yīng)像素值。imdivide函數(shù)的調(diào)用格式如下:Z = imdivide(X,Y)其中,Z=X/Y。例如,以下代碼將圖4所示的兩幅圖像進(jìn)行除法運(yùn)算,請(qǐng)將這個(gè)結(jié)果和減法操作的結(jié)果相比較,對(duì)比它們之間的不同之處:Rice = imread(rice.tif);I = double(rice);J= I * 0.43 + 90;Rice2 = uint8(J);Ip = imdivide(rice, rice2);Imshow(Ip, );除法操作的結(jié)果如圖2
25、.6所示。 圖2.6 原圖和減背景后的圖像相除的圖像效果5圖像的四則代數(shù)運(yùn)算可以綜合使用多種圖像代數(shù)運(yùn)算函數(shù)來完成一系列的操作。例如,使用以下語句計(jì)算兩幅圖像的平均值:I = imread(rice.tif);I2 = imread(cameraman.tif);K = imdivide(imadd(I,I2),2);建議最好不要用這種方式進(jìn)行圖像操作,這是因?yàn)椋瑢?duì)于uint8或uint16數(shù)據(jù),每一個(gè)算術(shù)函數(shù)在將其輸出結(jié)果傳遞給下一項(xiàng)操作之前都要進(jìn)行數(shù)據(jù)截取,這個(gè)截取過程將會(huì)大大減少輸出圖像的信息量。執(zhí)行圖像四則運(yùn)算操作較好的一個(gè)辦法就是使用函數(shù)imlincomb。函數(shù)imlincomb按照
26、雙精度執(zhí)行所有代數(shù)運(yùn)算操作,而且僅對(duì)最好的輸出結(jié)果進(jìn)行截取,該函數(shù)的調(diào)用格式如下:Z = imlincomb(A,X,B,Y,C);其中,Z=A*X+B*Y+C。MATLAB會(huì)自動(dòng)根據(jù)輸入?yún)?shù)的個(gè)數(shù)判斷需要進(jìn)行的運(yùn)算。例如,以下語句將計(jì)算Z=A*X+C:Z = imlincomb(A,X,C)而以下語句將計(jì)算Z=A*X+B*Y:Z = imlincomb(A,X,B,Y,)四、 實(shí)驗(yàn)報(bào)告要求1 描述實(shí)驗(yàn)的基本步驟,用數(shù)據(jù)和圖片給出各個(gè)步驟中取得的實(shí)驗(yàn)結(jié)果并進(jìn)行必要的討論。2 必須包括原始圖像及其計(jì)算處理后的圖像以及相應(yīng)的解釋。五、 思考題由圖像算術(shù)運(yùn)算的運(yùn)算結(jié)果,思考圖像減法運(yùn)算在什么場(chǎng)合上發(fā)
27、揮優(yōu)勢(shì)?實(shí)驗(yàn)三 圖像增強(qiáng)空域?yàn)V波一、 實(shí)驗(yàn)?zāi)康?進(jìn)一步了解MatLab軟件/語言,學(xué)會(huì)使用MatLab對(duì)圖像作濾波處理,使學(xué)生有機(jī)會(huì)掌握濾波算法,體會(huì)濾波效果。了解幾種不同濾波方式的使用和使用的場(chǎng)合,培養(yǎng)處理實(shí)際圖像的能力,并為課堂教學(xué)提供配套的實(shí)踐機(jī)會(huì)。 二、實(shí)驗(yàn)要求 (1)學(xué)生應(yīng)當(dāng)完成對(duì)于給定圖像+噪聲,使用平均濾波器、中值濾波器對(duì)不同強(qiáng)度的高斯噪聲和椒鹽噪聲,進(jìn)行濾波處理;能夠正確地評(píng)價(jià)處理的結(jié)果;能夠從理論上作出合理的解釋。(2)利用MATLAB軟件實(shí)現(xiàn)空域?yàn)V波的程序:I=imread('electric.tif');J = imnoise(I,'gauss
28、39;,0.02); %添加高斯噪聲J = imnoise(I,'salt & pepper',0.02); (注意空格) %添加椒鹽噪聲 ave1=fspecial('average',3); %產(chǎn)生3×3的均值模版ave2=fspecial('average',5); %產(chǎn)生5×5的均值模版K = filter2(ave1,J)/255; %均值濾波3×3L = filter2(ave2,J)/255; %均值濾波5×5M = medfilt2(J,3 3); %中值濾波3×3模板N
29、= medfilt2(J,4 4); %中值濾波4×4模板imshow(I);figure,imshow(J);figure,imshow(K);figure,imshow(L);figure,imshow(M);figure,imshow(N);三、實(shí)驗(yàn)設(shè)備與軟件 (1) IBM-PC計(jì)算機(jī)系統(tǒng) (2) MatLab軟件/語言包括圖像處理工具箱(Image Processing Toolbox) (3) 實(shí)驗(yàn)所需要的圖片 四、實(shí)驗(yàn)內(nèi)容與步驟 a) 調(diào)入并顯示原始圖像Sample2-1.jpg 。b) 利用imnoise 命令在圖像Sample2-1.jpg 上加入高斯(gaussi
30、an) 噪聲 c)利用預(yù)定義函數(shù)fspecial 命令產(chǎn)生平均(average)濾波器 d)分別采用3x3和5x5的模板,分別用平均濾波器以及中值濾波器,對(duì)加入噪聲的圖像進(jìn)行處理并觀察不同噪聲水平下,上述濾波器處理的結(jié)果; e)選擇不同大小的模板,對(duì)加入某一固定噪聲水平噪聲的圖像進(jìn)行處理,觀察上述濾波器處理的結(jié)果。f)利用imnoise 命令在圖像Sample2-1.jpg 上加入椒鹽噪聲(salt & pepper)g)重復(fù)c) e)的步驟h)輸出全部結(jié)果并進(jìn)行討論。五、思考題/問答題 (1) 簡(jiǎn)述高斯噪聲和椒鹽噪聲的特點(diǎn)。(2) 結(jié)合實(shí)驗(yàn)內(nèi)容,定性評(píng)價(jià)平均濾波器/中值濾波器對(duì)高斯噪
31、聲和椒鹽噪聲的去噪效果?(3) 結(jié)合實(shí)驗(yàn)內(nèi)容,定性評(píng)價(jià)濾波窗口對(duì)去噪效果的影響? 六、實(shí)驗(yàn)報(bào)告要求 描述實(shí)驗(yàn)的基本步驟,用數(shù)據(jù)和圖片給出各個(gè)步驟中取得的實(shí)驗(yàn)結(jié)果,并進(jìn)行必要的討論,必須包括原始圖像及其計(jì)算/處理后的圖像。七、實(shí)驗(yàn)圖像 electric.tif(原始圖像) 實(shí)驗(yàn)二 圖像的代數(shù)運(yùn)算一、 實(shí)驗(yàn)?zāi)康?了解圖像的算術(shù)運(yùn)算在數(shù)字圖像處理中的初步應(yīng)用。2體會(huì)圖像算術(shù)運(yùn)算處理的過程和處理前后圖像的變化。二、 實(shí)驗(yàn)原理圖像的代數(shù)運(yùn)算是圖像的標(biāo)準(zhǔn)算術(shù)操作的實(shí)現(xiàn)方法,是兩幅輸入圖像之間進(jìn)行的點(diǎn)對(duì)點(diǎn)的加、減、乘、除運(yùn)算后得到輸出圖像的過程。如果輸入圖像為A(x,y)和B(x,y),輸出圖像為C(x,y
32、),則圖像的代數(shù)運(yùn)算有如下四種形式: C(x,y) = A(x,y) + B(x,y) C(x,y) = A(x,y) - B(x,y) C(x,y) = A(x,y) * B(x,y) C(x,y) = A(x,y) / B(x,y)圖像的代數(shù)運(yùn)算在圖像處理中有著廣泛的應(yīng)用,它除了可以實(shí)現(xiàn)自身所需的算術(shù)操作,還能為許多復(fù)雜的圖像處理提供準(zhǔn)備。例如,圖像減法就可以用來檢測(cè)同一場(chǎng)景或物體生產(chǎn)的兩幅或多幅圖像的誤差。使用MATLAB的基本算術(shù)符(+、-、*、/ 等)可以執(zhí)行圖像的算術(shù)操作,但是在此之前必須將圖像轉(zhuǎn)換為適合進(jìn)行基本操作的雙精度類型。為了更方便地對(duì)圖像進(jìn)行操作,MATLAB圖像處理工具
33、箱包含了一個(gè)能夠?qū)崿F(xiàn)所有非稀疏數(shù)值數(shù)據(jù)的算術(shù)操作的函數(shù)集合。下表列舉了所有圖像處理工具箱中的圖像代數(shù)運(yùn)算函數(shù)。表2-1 圖像處理工具箱中的代數(shù)運(yùn)算函數(shù)函數(shù)名功能描述Imabsdiff兩幅圖像的絕對(duì)差值Imadd兩幅圖像的加法Imcomplement補(bǔ)足一幅圖像Imdivide兩幅圖像的除法Imlincomb計(jì)算兩幅圖像的線性組合Immultiply兩幅圖像的乘法imsubtract兩幅圖像的減法使用圖像處理工具箱中的圖像代數(shù)運(yùn)算函數(shù)無需再進(jìn)行數(shù)據(jù)類型間的轉(zhuǎn)換,這些函數(shù)能夠接受uint8和uint16數(shù)據(jù),并返回相同格式的圖像結(jié)果。雖然在函數(shù)執(zhí)行過程中元素是以雙精度進(jìn)行計(jì)算的,但是MATLAB工
34、作平臺(tái)并不會(huì)將圖像轉(zhuǎn)換為雙精度類型。代數(shù)運(yùn)算的結(jié)果很容易超出數(shù)據(jù)類型允許的范圍。例如,uint8數(shù)據(jù)能夠存儲(chǔ)的最大數(shù)值是255,各種代數(shù)運(yùn)算尤其是乘法運(yùn)算的結(jié)果很容易超過這個(gè)數(shù)值,有時(shí)代數(shù)操作(主要是除法運(yùn)算)也會(huì)產(chǎn)生不能用整數(shù)描述的分?jǐn)?shù)結(jié)果。圖像的代數(shù)運(yùn)算函數(shù)使用以下截取規(guī)則使運(yùn)算結(jié)果符合數(shù)據(jù)范圍的要求:超出數(shù)據(jù)范圍的整型數(shù)據(jù)將被截取為數(shù)據(jù)范圍的極值,分?jǐn)?shù)結(jié)果將被四舍五入。例如,如果數(shù)據(jù)類型是uint8,那么大于255的結(jié)果(包括無窮大inf)將被設(shè)置為255。注意:無論進(jìn)行哪一種代數(shù)運(yùn)算都要保證兩幅輸入圖像的大小相等,且類型相同。三、 實(shí)驗(yàn)步驟1圖像的加法運(yùn)算圖像相加一般用于對(duì)同一場(chǎng)景的多
35、幅圖像求平均效果,以便有效地降低具有疊加性質(zhì)的隨機(jī)噪聲。直接采集的圖像品質(zhì)一般都較好,不需要進(jìn)行加法運(yùn)算處理,但是對(duì)于那些經(jīng)過長(zhǎng)距離模擬通訊方式傳送的圖像(如衛(wèi)星圖像),這種處理是必不可少的。在MATLAB中,如果要進(jìn)行兩幅圖像的加法,或者給一幅圖像加上一個(gè)常數(shù),可以調(diào)用imadd函數(shù)來實(shí)現(xiàn)。imadd函數(shù)將某一幅輸入圖像的每一個(gè)像素值與另一幅圖像相應(yīng)的像素值相加,返回相應(yīng)的像素值之和作為輸出圖像。imadd函數(shù)的調(diào)用格式如下:Z = imadd(X,Y)其中,X和Y表示需要相加的兩幅圖像,返回值Z表示得到的加法操作結(jié)果。圖像加法在圖像處理中應(yīng)用非常廣泛。例如,以下代碼使用加法操作將圖2.1中
36、的(a)、(b)兩幅圖像疊加在一起:I = imread(rice.tif);J = imread(cameraman.tif);K = imadd(I,J);imshow(K);疊加結(jié)果如圖2.2所示。 圖2.1 待疊加的兩幅圖像 圖2.2 疊加后的圖像效果給圖像的每一個(gè)像素加上一個(gè)常數(shù)可以使圖像的亮度增加。例如,以下代碼將增加圖3(a)所示的RGB圖像的亮度,加亮后的結(jié)果如圖3(b)所示。RGB = imread(flower.tif);RGB2 = imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB2);
37、加50 減50原圖 加50 減50圖2.3 亮度增加與變暗兩幅圖像的像素值相加時(shí)產(chǎn)生的結(jié)果很可能超過圖像數(shù)據(jù)類型所支持的最大值,尤其對(duì)于uint8類型的圖像,溢出情況最為常見。當(dāng)數(shù)據(jù)值發(fā)生溢出時(shí),imadd函數(shù)將數(shù)據(jù)截取為數(shù)據(jù)類型所支持的最大值,這種截取效果稱之為飽和。為了避免出現(xiàn)飽和現(xiàn)象,在進(jìn)行加法計(jì)算前最好將圖像轉(zhuǎn)換為一種數(shù)據(jù)范圍較寬的數(shù)據(jù)類型。例如,在加法操作前將uint8圖像轉(zhuǎn)換為uint16類型。2圖像的減法運(yùn)算圖像減法也稱為差分方法,是一種常用于檢測(cè)圖像變化及運(yùn)動(dòng)物體的圖像處理方法。圖像減法可以作為許多圖像處理工作的準(zhǔn)備步驟。例如,可以使用圖像減法來檢測(cè)一系列相同場(chǎng)景圖像的差異。圖
38、像減法與閾值化處理的綜合使用往往是建立機(jī)器視覺系統(tǒng)最有效的方法之一。在利用圖像減法處理圖像時(shí)往往需要考慮背景的更新機(jī)制,盡量補(bǔ)償由于天氣、光照等因素對(duì)圖像顯示效果造成的影響。在MATLAB中,使用imsubtract函數(shù)可以將一幅圖像從另一幅圖像中減去,或者從一幅圖像中減去一個(gè)常數(shù)。imsubtract函數(shù)將一幅輸入圖像的像素值從另一幅輸入圖像相應(yīng)的像素值中減去,再將這個(gè)結(jié)果作為輸出圖像相應(yīng)的像素值。imsubtract函數(shù)的調(diào)用格式如下:Z = imsubtract(X,Y);其中,Z是X-Y操作的結(jié)果。以下代碼首先根據(jù)原始圖像(如圖2.4(a)所示)生成其背景亮度圖像,然后再?gòu)脑紙D像中將
39、背景亮度圖像減去,從而生成圖2.4(b)所示的圖像:rice = imread(rice.tif);background = (rice, strel(disk,15);rice2 = imsubtract(rice, background);subplot(1,2,1);imshow(rice);subplot(1,2,2);imshow(rice2); 圖2.4 原始圖像、減去背景圖像如果希望從圖像數(shù)據(jù)I的每一個(gè)像素減去一個(gè)常數(shù),可以將上述調(diào)用格式中的Y替換為一個(gè)指定的常數(shù)值,例如:Z = imsubtract(I,50);減法操作有時(shí)會(huì)導(dǎo)致某些像素值變?yōu)橐粋€(gè)負(fù)數(shù),對(duì)于uint8或uint
40、16類型的數(shù)據(jù),如果發(fā)生這種情況,那么imsubtract函數(shù)自動(dòng)將這些負(fù)數(shù)截取為0。為了避免差值產(chǎn)生負(fù)值,同時(shí)避免像素值運(yùn)算結(jié)果之間產(chǎn)生差異,可以調(diào)用函數(shù)imabsdiff。imabsdiff將計(jì)算兩幅圖像相應(yīng)像素差值的絕對(duì)值,因而返回結(jié)果不會(huì)產(chǎn)生負(fù)數(shù)。該函數(shù)的調(diào)用格式與imsubtract函數(shù)類似。3. 圖像的乘法運(yùn)算兩幅圖像進(jìn)行乘法運(yùn)算可以實(shí)現(xiàn)掩模操作,即屏蔽掉圖像的某些部分。一幅圖像乘以一個(gè)常數(shù)通常被稱為縮放,這是一種常見的圖像處理操作。如果使用的縮放因子大于1,那么將增強(qiáng)圖像的亮度,如果因子小于1則會(huì)使圖像變暗。縮放通常將產(chǎn)生比簡(jiǎn)單添加像素偏移量自然得多的明暗效果,這是因?yàn)檫@種操作能
41、夠更好地維持圖像的相關(guān)對(duì)比度。此外,由于時(shí)域的卷積或相關(guān)運(yùn)算與頻域的乘積運(yùn)算對(duì)應(yīng),因此乘法運(yùn)算有時(shí)也被作為一種技巧來實(shí)現(xiàn)卷積或相關(guān)處理。在MATLAB中,使用immultiply函數(shù)實(shí)現(xiàn)兩幅圖像的乘法。immultiply函數(shù)將兩幅圖像相應(yīng)的像素值進(jìn)行元素對(duì)元素的乘法操作(MATLAB點(diǎn)乘),并將乘法的運(yùn)算結(jié)果作為輸出圖形相應(yīng)的像素值。immulitply函數(shù)的調(diào)用格式如下:Z = immulitply(X,Y)其中,Z=X*Y。例如,以下代碼將使用給定的縮放因子對(duì)圖2.5(a)所示的圖像進(jìn)行縮放,從而得到如圖2.5(b)所示的較為明亮的圖像:I = imread(moon.tif);J =
42、immultiply(I,1.2);subplot(1,2,1);imshow(I);subplot(1,2,2);imshow(J); 圖2.5 原圖和乘以因子1.5 的圖像uint8圖像的乘法操作一般都會(huì)發(fā)生溢出現(xiàn)象。Immultiply函數(shù)將溢出的數(shù)據(jù)截取為數(shù)據(jù)類型的最大值。為了避免產(chǎn)生溢出現(xiàn)象,可以在執(zhí)行乘法操作之前將uint8圖像轉(zhuǎn)換為一種數(shù)據(jù)范圍較大的圖像類型,例如uint16。4圖像的除法運(yùn)算除法運(yùn)算可用于校正成像設(shè)備的非線性影響,這在特殊形態(tài)的圖像(如斷層掃描等醫(yī)學(xué)圖像)處理中常常用到。圖像除法也可以用來檢測(cè)兩幅圖像間的區(qū)別,但是除法操作給出的是相應(yīng)像素值的變化比率,而不是每個(gè)
43、像素的絕對(duì)差異,因而圖像除法也稱為比率變換。在MATLAB中使用imdivide函數(shù)進(jìn)行兩幅圖像的除法。imdivide函數(shù)對(duì)兩幅輸入圖像的所有相應(yīng)像素執(zhí)行元素對(duì)元素的除法操作(點(diǎn)除),并將得到的結(jié)果作為輸出圖像的相應(yīng)像素值。imdivide函數(shù)的調(diào)用格式如下:Z = imdivide(X,Y)其中,Z=X/Y。例如,以下代碼將圖4所示的兩幅圖像進(jìn)行除法運(yùn)算,請(qǐng)將這個(gè)結(jié)果和減法操作的結(jié)果相比較,對(duì)比它們之間的不同之處:Rice = imread(rice.tif);I = double(rice);J= I * 0.43 + 90;Rice2 = uint8(J);Ip = imdivide(
44、rice, rice2);Imshow(Ip, );除法操作的結(jié)果如圖2.6所示。 圖2.6 原圖和減背景后的圖像相除的圖像效果5圖像的四則代數(shù)運(yùn)算可以綜合使用多種圖像代數(shù)運(yùn)算函數(shù)來完成一系列的操作。例如,使用以下語句計(jì)算兩幅圖像的平均值:I = imread(rice.tif);I2 = imread(cameraman.tif);K = imdivide(imadd(I,I2),2);建議最好不要用這種方式進(jìn)行圖像操作,這是因?yàn)椋瑢?duì)于uint8或uint16數(shù)據(jù),每一個(gè)算術(shù)函數(shù)在將其輸出結(jié)果傳遞給下一項(xiàng)操作之前都要進(jìn)行數(shù)據(jù)截取,這個(gè)截取過程將會(huì)大大減少輸出圖像的信息量。執(zhí)行圖像四則運(yùn)算操作
45、較好的一個(gè)辦法就是使用函數(shù)imlincomb。函數(shù)imlincomb按照雙精度執(zhí)行所有代數(shù)運(yùn)算操作,而且僅對(duì)最好的輸出結(jié)果進(jìn)行截取,該函數(shù)的調(diào)用格式如下:Z = imlincomb(A,X,B,Y,C);其中,Z=A*X+B*Y+C。MATLAB會(huì)自動(dòng)根據(jù)輸入?yún)?shù)的個(gè)數(shù)判斷需要進(jìn)行的運(yùn)算。例如,以下語句將計(jì)算Z=A*X+C:Z = imlincomb(A,X,C)而以下語句將計(jì)算Z=A*X+B*Y:Z = imlincomb(A,X,B,Y,)四、 實(shí)驗(yàn)報(bào)告要求1 描述實(shí)驗(yàn)的基本步驟,用數(shù)據(jù)和圖片給出各個(gè)步驟中取得的實(shí)驗(yàn)結(jié)果并進(jìn)行必要的討論。2 必須包括原始圖像及其計(jì)算處理后的圖像以及相應(yīng)的解釋。五、 思考題由圖像算術(shù)運(yùn)算的運(yùn)算結(jié)果,思考圖像減法運(yùn)算在什么場(chǎng)合上發(fā)揮優(yōu)勢(shì)?實(shí)驗(yàn)四
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 熱力設(shè)計(jì)合同
- 電腦采購(gòu)合同
- 恒溫箱企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 2025年造紙色漿項(xiàng)目發(fā)展計(jì)劃
- 冶金級(jí)稀土金屬企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 電動(dòng)坡口機(jī)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 道路交通協(xié)管服務(wù)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 2025年冷鏈裝備項(xiàng)目合作計(jì)劃書
- 玻璃制光學(xué)元件戰(zhàn)略市場(chǎng)規(guī)劃報(bào)告
- 中國(guó)石油大慶石化分公司高校畢業(yè)生招聘筆試真題2024
- DB43T 1491-2018 貴鉛中砷、鉍、銅和銻量的測(cè)定 電感耦合等離子體發(fā)射光譜法
- 聲樂課課件教學(xué)
- 保密法實(shí)施條例培訓(xùn)
- 泰山產(chǎn)業(yè)領(lǐng)軍人才申報(bào)書
- 《沿海灘涂鹽堿地機(jī)插水稻高產(chǎn)栽培技術(shù)規(guī)程(報(bào)批稿)》編制說明
- GB/T 44395-2024激光雷達(dá)測(cè)風(fēng)數(shù)據(jù)可靠性評(píng)價(jià)技術(shù)規(guī)范
- 2024年四川成都市成華區(qū)“蓉漂人才薈”事業(yè)單位招聘高層次人才歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 衛(wèi)浴產(chǎn)品經(jīng)銷合同模板
- 2024年浙江省金華市東陽市橫店鎮(zhèn)三校中考二模道德與法治試題(原卷版)
- 人教版(2024新版)九年級(jí)上冊(cè)化學(xué):第四單元 跨學(xué)科實(shí)踐活動(dòng)3《水質(zhì)檢測(cè)及自制凈水器》教案教學(xué)設(shè)計(jì)
- 杭州市上城區(qū)政務(wù)服務(wù)中心招聘筆試真題2022
評(píng)論
0/150
提交評(píng)論