第8章MATLAB在圖像處理中的應(yīng)用_第1頁
第8章MATLAB在圖像處理中的應(yīng)用_第2頁
第8章MATLAB在圖像處理中的應(yīng)用_第3頁
第8章MATLAB在圖像處理中的應(yīng)用_第4頁
第8章MATLAB在圖像處理中的應(yīng)用_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第8章章 MATLAB在圖像處在圖像處 理中的應(yīng)用理中的應(yīng)用n8.1 讀取和顯示圖像讀取和顯示圖像n8.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰度拉伸n8.4 圖像濾波圖像濾波n8.5 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié)n8.1 讀取和顯示圖像讀取和顯示圖像n8.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰度拉伸n8.4 圖像濾波圖像濾波n8.5 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié)n8.1.1 讀取圖片 在

2、MATLAB中常用四種圖像類型,分別是RGB真彩色圖像、索引圖像、灰度圖像和二值圖像,它們各有各的優(yōu)勢(shì),且可以相互轉(zhuǎn)換。1RGB真彩色圖像 在 R G B 真 彩 色 圖 像 中 , R ( R e d ) 、 G(Green)、B(Black)三個(gè)分量表示一個(gè)像素的顏色。在MATLAB中,RGB真彩色圖像可以用雙精度存儲(chǔ),亮度范圍為0 1,0 0 0表示黑色,1 1 1表示白色。此外,RGB真彩色圖像還可以用無符號(hào)整型存儲(chǔ),一般常用8bit表示,亮度范圍為0 255,0 0 0表示黑色,255 255 255表示白色。兩者之間可以相互轉(zhuǎn)換。n例 現(xiàn)在有一個(gè)大小為2562563以無符號(hào)整型存儲(chǔ)

3、的RBG圖像I,其中R、G、B的值全為1,將其變成雙精度型I1,然后再變回?zé)o符號(hào)型I2。n代碼如下: I = ones(256, 256, 3); I1 = double(I) / 255; I2 = uint8( round( I1 * 255 ) ); I(2, 3) I1(2, 3) I2(2, 3)2索引圖像 索引圖像包括兩部分,即圖像數(shù)據(jù)矩陣和調(diào)色板。調(diào)色板是一個(gè)有3列和若干行的色彩映象矩陣,矩陣每行代表一種顏色,3列分別代表紅、綠、藍(lán)色強(qiáng)度的雙精度數(shù)。MATLAB中調(diào)色板色彩強(qiáng)度范圍為0 1,其中0代表最暗,1代表最亮。n例 讀取和顯示索引圖像,程序如下:nX map = imre

4、ad(spine.tif); figure; imshow(X) colormap(map)3灰度圖像 灰度圖像是圖像處理中非常常用的一類圖像,在MATLAB中,一般采用矩陣存儲(chǔ)灰度圖像,如果數(shù)據(jù)類型為double,則取值范圍為0, 1,其中0代表黑色,1代表白色?;叶葓D像一般也采用imshow()函數(shù)進(jìn)行顯示。n例 在程序中建立256256的灰度圖像,并將其轉(zhuǎn)換為8位無符號(hào)整型,然后顯示圖像。nclear I = zeros(256, 256); for i=1:256 I(1:256, i) = i / 255; % 像素賦值 end figure imshow(I)4二值圖像 在MATL

5、AB中,對(duì)于二值圖像,采用邏輯類型進(jìn)行存儲(chǔ),每個(gè)像素只有兩個(gè)灰度值,0和1,其中0代表黑色,1代表白色。一般可以使用logical()函數(shù)將雙精度類型轉(zhuǎn)換為邏輯型矩陣。n例 在程序中建立256256的二值圖像,其中上半部分是白色,下半部分是黑色,然后顯示圖像。nclear I = zeros(256, 256); I(1:128, :) = 1; % 像素賦值 I(129:256, :) = 0; % 像素賦值 figure imshow(I)n在MATLAB中利用imread()函數(shù)讀取圖片,然后利用imshow()函數(shù)顯示圖像。該函數(shù)常用的調(diào)用格式為:(1)A = imread(filen

6、ame, fmt):讀取文件名filename而擴(kuò)展名為fmt的圖片,并保存在數(shù)組A中,注意如果圖片沒有在MATLAB可讀取的路徑內(nèi),filename應(yīng)該為全路徑+圖片的名稱。(2)X, map = imread(filename, fmt):讀取文件名filename而擴(kuò)展名為fmt的圖片,并保存在數(shù)組X中,并將其圖像調(diào)色板的索引保存到map中。(3). = imread(filename):自動(dòng)讀取文件名filename的圖片。(4). = imread(URL,.):讀取網(wǎng)址為URl的網(wǎng)絡(luò)圖片。n例 設(shè)在D盤中有一副圖片,其名稱為hbu.jpg,則利用imread()函數(shù)讀取該圖片。nc

7、lear A = imread(D:hbu.jpg, jpg); size(A) imshow(A)n例 將上例中的圖像轉(zhuǎn)換為灰度圖像進(jìn)行顯示。nclear A = imread(D:hbu.jpg, jpg); I = rgb2gray(A); size(I) imshow(I)n8.1.2 顯示圖片 在8.1.1節(jié)中們已經(jīng)講述了最常見的圖像顯示函數(shù)imshow()函數(shù),下面對(duì)其進(jìn)行詳細(xì)的解釋。該函數(shù)常用的調(diào)用格式為:(1)imshow(I):顯示矩陣I代表的圖像,I可以是灰度圖像也可是彩色圖像。(2)imshow(I, map):顯示矩陣I代表的圖像,I為索引圖像,調(diào)色板為map。(3)i

8、mshow(I,low,high):其中,low和high分別為數(shù)據(jù)數(shù)組的最小值和最大值,由于MATLAB自動(dòng)對(duì)灰度圖像進(jìn)行標(biāo)度以適合調(diào)色板的范圍,因而可以使用自定義大小的調(diào)色板。(4)imshow(I, ):low為I中最小的值,high為I中最大的值。n例 利用Maltab中子帶的cameraman.tif圖像進(jìn)行圖像顯示。nI = imread(cameraman.tif); subplot(1,2,1) imshow(I) subplot(1,2,2) imshow(I, 32 128)n8.1 讀取和顯示圖像讀取和顯示圖像n8.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰

9、度拉伸n8.4 圖像濾波圖像濾波n8.5 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié)n8.2.1 直方圖 圖像的灰度直方圖是圖像灰度級(jí)的函數(shù),它描述了圖像中每個(gè)灰度級(jí)所包含的像素的個(gè)數(shù)(也就是說每個(gè)灰度級(jí)出現(xiàn)的的頻率分布)。在Matlab中繪制直方圖的函數(shù)是hist,其使用用方法為hist(y, x)。hist()函數(shù)的調(diào)用格式如下:(1)N = hist(Y):該調(diào)用格式將向量Y中的元素平均分配到十個(gè)容器中,并且這十個(gè)容器的大小一樣。N表示每個(gè)容器中所包含的元素的個(gè)數(shù)是多少。對(duì)于Y為矩陣的情況,該調(diào)用格式將對(duì)矩陣進(jìn)行逐列

10、操作。(2)N = hist(Y,M):該調(diào)用格式將向量Y的元素平均分到M個(gè)容器中,且這M個(gè)容器的大小一致。N表示每個(gè)容器所包含的元素的個(gè)數(shù)是多少。對(duì)于Y為矩陣的情況,該調(diào)用格式也對(duì)矩陣進(jìn)行逐列操作。(3)N = hist(Y,X):該調(diào)用格式中X是向量,該調(diào)用格式在劃分容器的時(shí)候,容器的中心為向量X中的元素,從而執(zhí)行該調(diào)用命令可獲得Y在這些容器中的分布情況。n例 Y = 1:10,利用hist(Y)計(jì)算其直方圖。MATLAB代碼如下:nY = 1:10; hist(Y) h = findobj(gca,Type,patch); set(h,FaceColor,1 0.76 0.05,Edge

11、Color,w);1234567891000.10.20.30.40.50.60.70.80.91n8.2.2 直方圖均衡 圖像經(jīng)過均衡化處理以后,圖像的直方圖的波峰和波谷都被拉直了,這樣整個(gè)圖像的直方圖就變得比較平滑平直,即各灰度級(jí)擁有的頻數(shù)大致相同,這樣灰度級(jí)就具有均勻的概率分布,圖像看起來就更清晰。 在MATLAB中,使用histeq()函數(shù)進(jìn)行直方圖均衡化,其調(diào)用格式如下:(1)J = histeq(I,hgram):將原始圖像I的直方圖變成用戶指定的向量hgram。hgram中的各元素的值域?yàn)?,1;(2)J = histeq(I,n):指定直方圖均衡后的灰度級(jí)數(shù)n,默認(rèn)值為64;(

12、3)J,T = histeq(I,.):返回從能將圖像I的灰度直方圖變換成圖像J的直方圖變換T。(4)newmap = histeq(X,map,hgram)、newmap = histeq(X,map)、newmap,T = histeq(X,.) 這三個(gè)是針對(duì)索引圖像調(diào)色板的直方圖均衡化,用法和灰度圖像的一樣。n例 對(duì)MATLAB自帶的圖像tire進(jìn)行直方圖均衡化。MATLAB代碼如下:I = imread(tire.tif);J = histeq(I);imshow(I)figureimshow(J)n運(yùn)行結(jié)果如下: (a) (b)其中(a)為原始圖像,(b)為直方圖均衡化以后的圖像,可

13、以看到圖像的灰度更均勻了。再計(jì)算圖(a)和(b)的直方圖分布情況,代碼如下:I = imread(tire.tif);J = histeq(I);hist(double(I(:),256);figurehist(double(J(:),256);結(jié)果如圖:0501001502002503000500100015002000250005010015020025030005001000150020002500 (c) (d) 其中(c)和(d)分別是原始圖像和均衡化后的直方圖,對(duì)比圖(c)與(d)可知直方圖均衡化實(shí)質(zhì)上是減少圖像的灰度級(jí)以換取對(duì)比度的加大。n8.1 讀取和顯示圖像讀取和顯示圖像n8

14、.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰度拉伸n8.4 圖像濾波圖像濾波n8.5 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié)n1線性變換 在數(shù)字圖像處理中,線性變換使曝光不充分圖像中黑的更黑,白得更白,從而提高圖像對(duì)比度,其公式如下:g(x,y)=(d-c)/(b-a)f(x,y)-a+c其中f(x,y)表示線性變換前的原始圖像,而g(x,y)表示線性變換后的圖像,a、b、c和d都表示線性變換的系數(shù)。n2分段線性變換 在數(shù)字圖像處理中,非線性變換往往可以有效的提高圖像的局部對(duì)比度白,從而有效的增強(qiáng)圖像的局

15、部細(xì)節(jié),其公式如下: g(x,y)=c/df(x,y) 0=f(x,y)=a g(x,y)= (d-c)/(b-a)f(x,y)-a+c a=f(x,y)=bg(x,y)= (f-b)/(e-a)f(x,y)-b+d b=f(x,y)=c其中f(x,y)表示分段線性變換前的原始圖像,而g(x,y)表示分段線性變換后的圖像,a、b、c、d、e和f都表示分段線性變換的系數(shù)。n3非線性變換 在數(shù)字圖像處理中,線性變換往往不能滿足所有的圖像增強(qiáng),從而非線性變換被用于圖像增強(qiáng)中,這里主要使用的對(duì)數(shù)變換和指數(shù)變換,其公式如下:g(x,y)=a+lnf(x,y)+1/b*lnc g(x,y)= c + ex

16、p(f(x,y)其中f(x,y)表示線性變換前的原始圖像,而g(x,y)表示非線性變換后的圖像,a、b、c都表示非線性變換的系數(shù)。n在MATLAB中imadjust函數(shù)用于進(jìn)行圖像的灰度變換,以調(diào)節(jié)灰度圖像的亮度或彩色圖像的顏色矩陣。其調(diào)用格式如下:(1)J = imadjust(I):將灰度圖像I中像素的亮度值映射到圖像J中,以致1%的圖像數(shù)據(jù)在最低和最高強(qiáng)度間達(dá)到飽和。此函數(shù)的功能是增大圖像J的對(duì)比度,便于后續(xù)的圖像處理。具體用法同imadjust(I,stretchlim(I);(2)J = imadjust(I,low_in; high_in,low_out; high_out):將灰

17、度圖像I中像素的亮度值映射到圖像J中。也就是,將圖像I中l(wèi)ow_in到high_in間的亮度值映射到low_out到high_out間,并將low_in 以下的值設(shè)定為下邊界low_out而high_in 以上的值設(shè)定為上邊界high_out,最后得到圖像J。low_in; high_in和low_out; high_out都可以取值為空矩陣,則默認(rèn)值為0,1;(3)J = imadjust(I,low_in; high_in,low_out; high_out,gamma):將灰度圖像I中像素的亮度值映射到圖像J中。其中,通過gamma的值來確定I和J的關(guān)系的曲線形狀。如果gamma的值越大

18、,則輸出圖像J的像素值相應(yīng)成比例地越小,圖像越灰暗;如果省略參數(shù)gamma,則默認(rèn)為圖像J和I間為線性映射。(4)newmap = imadjust(map,low_in; high_in,low_out; high_out,gamma):調(diào)整索引色圖像的調(diào)色板map。如果low_in,high_in,low_out, high_out和gamma都是標(biāo)量,則將圖像中的r,g和b分量同時(shí)做出以上映射。對(duì)于每一個(gè)顏色分量,都有唯一的映射與之相對(duì)應(yīng)。當(dāng)low_in和high_in,或者low_out和high_out,或者gamma,三者只要有其一是1*3向量時(shí),調(diào)整后的顏色矩陣newmap與ma

19、p的大小相同。(5)GB2 = imadjust(RGB1,.):對(duì)彩色圖像RGB1的三基色(紅、綠和藍(lán))分別調(diào)整。當(dāng)顏色矩陣變化時(shí),每個(gè)調(diào)色板都有唯一的映射值與之對(duì)應(yīng)。n例 對(duì)MATLAB自帶的圖像football進(jìn)行灰度拉伸。nRGB1 = imread(football.jpg); RGB2 = imadjust(RGB1,.2 .3 0; .6 .7 1,); imshow(RGB1), figure imshow(RGB2)運(yùn)行結(jié)果: 原圖結(jié)果圖n8.1 讀取和顯示圖像讀取和顯示圖像n8.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰度拉伸n8.4 圖像濾波圖像濾波n8.5

20、 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié)n8.4.1 均值濾波 均值濾波屬于線性濾波的一種,主要是通過像素點(diǎn)和其周圍領(lǐng)域像素點(diǎn)簡(jiǎn)單的線性運(yùn)算實(shí)現(xiàn)濾波的。在MATLAB中實(shí)現(xiàn)圖像的均值濾波主要通過使用imfilter函數(shù)和fspecial相結(jié)合的方式進(jìn)行濾波。1.imfilter函數(shù)調(diào)用格式:(1)B = imfilter(A, H):利用濾波器系數(shù)為H的濾波器對(duì)A進(jìn)行濾波。(2)g = imfilter(f, w, filtering_mode, boundary_options, size_options):其中,f

21、為輸入圖 像 , w 為 濾 波 掩 模 , g 為 濾 波 后 圖 像 。filtering_mode用于指定在濾波過程中是使用“相關(guān)”還是“卷積”。boundary_options用于處理邊界充零問題,邊界的大小由濾波器的大小確定。options具體參數(shù)選項(xiàng)描述filtering_modecorr通過使用相關(guān)運(yùn)算來完成濾波,該值為默認(rèn)。 conv通過使用卷積運(yùn)算來完成濾波boundary_optionsX輸入圖像的邊界通過用值X(無引號(hào))來填充擴(kuò)展其默認(rèn)值為0 replicate圖像大小通過復(fù)制外邊界的值來擴(kuò)展 symmetric圖像大小通過鏡像反射其邊界來擴(kuò)展 circular圖像大小通

22、過將圖像看成是一個(gè)二維周期函數(shù)的一個(gè)周期來擴(kuò)展size_optionsfull輸出圖像的大小與被擴(kuò)展圖像的大小相同 same輸出圖像的大小與輸入圖像的大小相同。這可通過將濾波掩模的中心點(diǎn)的偏移限制到原圖像中包含的點(diǎn)來實(shí)現(xiàn),該值為默認(rèn)值。2.fspecial函數(shù)用于建立預(yù)定義的濾波算子,其調(diào)用格式如下:(1)h = fspecial(type) :利用type建立預(yù)定義的濾波算子;(2)h = fspecial(type,para):利用type和para建立預(yù)定義的濾波算子。其中type指定算子的類型,para指定相應(yīng)的參數(shù)。type具體類型如下:選項(xiàng)描述average為均值濾波,參數(shù)為hsi

23、ze代表模板尺寸,默認(rèn)值為3,3disk為圓形區(qū)域均值濾波,參數(shù)為radius代表區(qū)域半徑,默認(rèn)值為5gaussian為高斯低通濾波,有兩個(gè)參數(shù),hsize表示模板尺寸,默認(rèn)值為3 3,sigma為濾波器的標(biāo)準(zhǔn)值,單位為像素,默認(rèn)值為0.5laplacian為拉普拉斯算子,參數(shù)alpha用于控制算子形狀,取值范圍為0,1,默認(rèn)值為0.2log為拉普拉斯高斯算子,有兩個(gè)參數(shù),hsize表示模板尺寸,默認(rèn)值為3 3,sigma為濾波器的標(biāo)準(zhǔn)差,單位為像素,默認(rèn)值為0.5motion為運(yùn)動(dòng)模糊算子,有兩個(gè)參數(shù),表示攝像物體逆時(shí)針方向以theta角度運(yùn)動(dòng)了len個(gè)像素,len的默認(rèn)值為9,theta的

24、默認(rèn)值為0prewitt用于邊緣增強(qiáng),大小為3 3,無參數(shù)sobel用于邊緣提取,無參數(shù)unsharp為對(duì)比度增強(qiáng)濾波器。參數(shù)alpha用于控制濾波器的形狀,范圍為0,1,默認(rèn)值為0.2n例 對(duì)MATLAB自帶的圖像football進(jìn)行窗口為3*3的均值濾波。img = imread(football.jpg);% 產(chǎn)生均值濾波算子 H = fspecial(average,3 3)% 產(chǎn)生均值濾波算子 imgAvg = imfilter(img,H);% 查看原始圖像figureimshow(img, )% 查看濾波后圖像figureimshow(imgAvg, ) 原圖 濾波后圖像n8.4

25、.2 中值濾波 利用中值濾波,不但可以濾出掉那些孤立的噪聲點(diǎn),而且還可以很好地保持圖像的細(xì)節(jié)特征與邊緣特性,更不會(huì)使去噪后的圖像產(chǎn)生明顯的模糊現(xiàn)象。中值濾波的步驟為:(1)將濾波模板(即一定大小的滑動(dòng)窗口)的中心與待處理圖像中某個(gè)位置的像素點(diǎn)重合;(2)讀取模板中各個(gè)不同位置的像素的灰度值;(3)讀取后的灰度值按升序或降序順序排列;(4)在已排序好的序列中,取其中間的數(shù)值即是模板現(xiàn)在所在位置的中心像素值。(5)重復(fù)步驟以上步驟,直到模板的中心位置遍歷完待測(cè)圖像的每個(gè)像素點(diǎn)。n在MATLAB中中值濾波有固定的調(diào)用函數(shù)medfilt2,其調(diào)用格式為:(1)h = medfilt2 (I) :利用3

26、*3的窗口對(duì)圖像I進(jìn)行中值濾波;(2)h = medfilt2 (I,M N):利用M*N的窗口對(duì)圖像I進(jìn)行中值濾波。n例 對(duì)MATLAB自帶的圖像football進(jìn)行中值檢測(cè),窗口大小為5*5。img = imread(football.jpg);I = rgb2gray(img); % 加脈沖噪聲I1 = imnoise(I, salt & pepper); % 中值濾波 imgMed = medfilt2 (I1, 5 5);% 查看原始圖像figureimshow(I, )% 查看噪聲圖像figureimshow(I1, )% 查看濾波后圖像figureimshow(imgMe

27、d, )原始圖像噪聲圖像濾波后圖像n8.1 讀取和顯示圖像讀取和顯示圖像n8.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰度拉伸n8.4 圖像濾波圖像濾波n8.5 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié) 圖像閾值分割是一種被廣泛應(yīng)用的分割技術(shù),它利用圖像中待提取目標(biāo)與其背景在灰度特性上的差異,將圖像看作是不同灰度級(jí)的兩種區(qū)域(目標(biāo)和背景)的組合,然后據(jù)此設(shè)計(jì)一個(gè)適當(dāng)?shù)拈撝祵D像中的每個(gè)像素點(diǎn)判別為目標(biāo)或者背景,最后得到對(duì)應(yīng)的二值圖像。 在MATLAB中,graythresh函數(shù)使用最大類間方差法找到圖片的一

28、個(gè)合適的閾值,然后im2bw函數(shù)進(jìn)行圖像的二值化。n例 對(duì)MATLAB自帶的圖像coins進(jìn)行OSTU閾值分割和二值化。MATLAB代碼如下:I = imread(coins.png);% OSTU閾值分割% 求取分割閾值level = graythresh(I);% 進(jìn)行圖像分割和二值化BW = im2bw(I,level);% 查看原始圖像figureimshow(I, )% 查看二值化圖像figure, imshow(BW,) 原始圖像 二值化后圖像n8.1 讀取和顯示圖像讀取和顯示圖像n8.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰度拉伸n8.4 圖像濾波圖像濾波n8.5

29、 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié) 數(shù)學(xué)形態(tài)學(xué)是以形態(tài)結(jié)構(gòu)元素為基礎(chǔ)對(duì)圖像進(jìn)行分析的數(shù)學(xué)工具。它的基本思想是用具有一定形態(tài)的結(jié)構(gòu)元素去度量和提取圖像中的對(duì)應(yīng)形狀以達(dá)到對(duì)圖像分析和識(shí)別的目的。數(shù)學(xué)形態(tài)學(xué)的應(yīng)用可以簡(jiǎn)化圖像數(shù)據(jù),保持它們基本的形狀特征,并除去不相干的結(jié)構(gòu)。1strel函數(shù) 該函數(shù)能夠生成膨脹腐蝕及開閉運(yùn)算等操作的結(jié)構(gòu)元素對(duì)象,其調(diào)用格式如下:(1)SE = strel(shape,parameters) :創(chuàng)建由shape指定形狀的結(jié)構(gòu)元素。其中,參數(shù)parameters用來控制SE的大小。通常,sh

30、ape的類型有arbitrary 、pair 、diamond 、periodicline、 disk 、rectangle、 line 、square、 octagon 等;(2)SE = strel(arbitrary, NHOOD):創(chuàng)建一個(gè)任意形狀的結(jié)構(gòu)元素。其中,NHOOD是只包含元素0和1的矩陣,可以用se=strel(NHOOD)簡(jiǎn)化來指定形狀;(3)SE = strel(arbitrary, NHOOD, HEIGHT):HEIGHT是一個(gè)與NHOOD同大小的矩陣,包含于相關(guān)的NHOOD中非零元素的高度值;(4)SE = strel(ball, R, H, N):創(chuàng)建一個(gè)橢球形

31、的結(jié)構(gòu)元素。其中,R為平面X-Y內(nèi)的半徑,H為高度。當(dāng)N大于0時(shí),橢球是利用N不平坦的線狀結(jié)構(gòu)來進(jìn)行逼近的。當(dāng)N等于0時(shí),它沒有逼近;(5)SE = strel(diamond, R):創(chuàng)建一個(gè)平坦的菱形結(jié)構(gòu)元素。其中,R是結(jié)構(gòu)元素中從原點(diǎn)到菱形最遠(yuǎn)的距離;(6)SE = strel(disk, R, N):創(chuàng)建一個(gè)平坦的圓形結(jié)構(gòu)元素,其中,R為半徑。N必須是固定值0,4,6或8.當(dāng)N大于0時(shí),圓形結(jié)構(gòu)元素被N個(gè)周期線性結(jié)構(gòu)元素序列近似逼近;當(dāng)N等于0時(shí),沒有逼近,結(jié)構(gòu)元素包含所有的小于從原點(diǎn)到R的像素。(7)SE = strel(line, LEN, DEG):創(chuàng)建一個(gè)平坦的線性結(jié)構(gòu)。其中,

32、LEN為線的長(zhǎng)度,DEG為角度;(8)SE = strel(octagon, R):創(chuàng)建一個(gè)平坦的八邊形結(jié)構(gòu)。其中,沿水平軸和垂直軸度量,R是從結(jié)構(gòu)元素的原點(diǎn)到八邊形的距離,且R必須是3的非付倍數(shù);(9)SE = strel(pair, OFFSET):創(chuàng)建一個(gè)包含兩個(gè)成員的平坦結(jié)構(gòu)元素。其中,一個(gè)成員在原點(diǎn),一個(gè)成員由向量OFFSET表示,且該向量必須是一個(gè)兩元素的整數(shù)向量;(10)SE = strel(periodicline, P, V):創(chuàng)建一個(gè)包含有2*P+1個(gè)成員的平坦元素。其中,V是一個(gè)兩元素向量,它包含有整數(shù)值得行和列的轉(zhuǎn)移,一個(gè)元素在原點(diǎn),另一個(gè)元素位于1*V, -1*V,

33、2*V, -2*V, ., P*V, -P*V處;(11)SE = strel(rectangle, MN):創(chuàng)建一個(gè)平坦的矩陣結(jié)構(gòu)。其中,由MN指定矩形的大??;(12)SE = strel(square, N):創(chuàng)建一個(gè)方形的結(jié)構(gòu)元素。其中,N表示邊長(zhǎng)包含的像素?cái)?shù)。n例 利用strel生成一個(gè)半徑為5的圓盤結(jié)構(gòu)。MATLAB代碼如下:nse = strel(disk,5,0)se = 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1

34、 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 02imdilate函數(shù) 該函數(shù)能夠?qū)崿F(xiàn)二值圖像的膨脹操作,其調(diào)用格式如下:(1)BW2=imdilate(BW1,SE):使用二值結(jié)構(gòu)要素矩陣SE隊(duì)圖像數(shù)據(jù)矩陣BW1執(zhí)行膨脹操作,輸入圖像BW1的類型為double或unit8,輸出圖像BW2的類型為unit8;(2)BW2=imdilate(BW1,SE,n):使用二值結(jié)構(gòu)要

35、素矩陣SE隊(duì)圖像數(shù)據(jù)矩陣BW1執(zhí)行n次膨脹操作。n例 對(duì)8.5節(jié)中例題二值化后的圖像進(jìn)行膨脹操作。MATLAB代碼如下:I = imread(coins.png);% OSTU閾值分割% 求取分割閾值level = graythresh(I);% 進(jìn)行圖像分割和二值化BW = im2bw(I, level);% 生產(chǎn)形態(tài)學(xué)結(jié)構(gòu)se = strel(rectangle,3 5);%結(jié)構(gòu)元素 % 形態(tài)學(xué)膨脹imgDil = imdilate(BW,se,same); %dilate% 查看原始圖像figureimshow(I, )% 查看二值化圖像figure, imshow(BW,)% 查看形態(tài)

36、學(xué)膨脹圖像figure, imshow(imgDil,)二值化圖像形態(tài)學(xué)膨脹圖像3imerode 函數(shù) 該函數(shù)能夠?qū)崿F(xiàn)二值圖像的腐蝕操作,其調(diào)用格式如下:(1)BW2 = imerode(BW1,SE):使用二值結(jié)構(gòu)要素矩陣SE隊(duì)圖像數(shù)據(jù)矩陣BW1執(zhí)行腐蝕操作。輸入圖像BW1的類型為double或unit8,輸出圖像BW2的類型為unit8;(2)BW2 = imerode(BW1,SE,n):使用二值結(jié)構(gòu)要素矩陣SE隊(duì)圖像數(shù)據(jù)矩陣BW1執(zhí)行n次腐蝕操作。n例 對(duì)8.5節(jié)中例題二值化后的圖像進(jìn)行腐蝕操作。MATLAB代碼如下:I = imread(coins.png);% OSTU閾值分割%

37、求取分割閾值level = graythresh(I);% 進(jìn)行圖像分割和二值化BW = im2bw(I,level);% 生產(chǎn)形態(tài)學(xué)結(jié)構(gòu)se = strel(rectangle,3 5);%結(jié)構(gòu)元素 % 形態(tài)學(xué)腐蝕imgEro = imerode (BW,se,same); % 查看原始圖像figureimshow(I, )% 查看二值化圖像figure, imshow(BW,)% 查看形態(tài)學(xué)腐蝕圖像figure, imshow(imgEro,)二值化圖像形態(tài)學(xué)腐蝕圖像4bwmorph函數(shù) 該函數(shù)的功能是能實(shí)現(xiàn)二值圖像形態(tài)學(xué)運(yùn)算,格式如下:(1)BW2=bwmorph(BW1,operati

38、on):可對(duì)二值圖像BW1采用指定的形態(tài)學(xué)運(yùn)算;(2)BW2=bwmorph(BW1,operation,n):可對(duì)二值圖像BW1采用指定的形態(tài)學(xué)運(yùn)算n次。operation為表8.3所示的字符串之一。OperationDescriptionbothat是形態(tài)學(xué)上的“底帽”變換操作,返回的圖像是原圖減去形態(tài)學(xué)閉操作處理后的圖像(閉操作:先膨脹再腐蝕)bridge連接斷開的像素。也就是將0值像素置1如果他有兩個(gè)非零的不相連(8鄰域)的像素clean移除孤立的像素(被0包圍的1)close執(zhí)行形態(tài)學(xué)閉操作(先膨脹后腐蝕)diag利用對(duì)角線填充來消除背景中的8連通區(qū)域dilate利用結(jié)構(gòu)ones(3

39、)執(zhí)行膨脹操作erode利用結(jié)構(gòu)ones(3)執(zhí)行腐蝕操作fill填充孤立的內(nèi)部像素(被1包圍的0)hbreak移除H連通的像素majority將某一像素置1如果該像素的33鄰域中至少有5個(gè)像素為1;否則將該像素置0open執(zhí)行形態(tài)學(xué)開操作(先腐蝕后膨脹)remove移除內(nèi)部像素。該選項(xiàng)將一像素置0如果該像素的4連通鄰域都為1,僅留下邊緣像素shrinkn = Inf時(shí),將目標(biāo)縮成一個(gè)點(diǎn)。沒有孔洞的目標(biāo)縮成一個(gè)點(diǎn),有孔洞的目標(biāo)縮成一個(gè)連通環(huán)skeln = Inf時(shí),移除目標(biāo)邊界像素,但是不允許目標(biāo)分隔開,保留下來的像素組合成圖像的骨架spur移除刺激(孤立)像素thickenn = Inf時(shí),

40、通過在目標(biāo)外部增加像素加厚目標(biāo)直到這樣做最終使先前未連接目標(biāo)成為8連通域thinn = Inf時(shí),減薄目標(biāo)成線。沒有孔洞的目標(biāo)縮成最低限度的連通邊;有孔洞的目標(biāo)縮成連通環(huán)tophat執(zhí)行形態(tài)學(xué)“頂帽”變換操作,返回的圖像是原圖減去形態(tài)學(xué)開操作處理之后的圖像(開操作:先腐蝕再膨脹)n例 對(duì)8.5節(jié)中例題二值化后的圖像進(jìn)行tophat操作,MATLAB代碼如下:I = imread(coins.png);% OSTU閾值分割% 求取分割閾值level = graythresh(I);% 進(jìn)行圖像分割和二值化BW = im2bw(I,level);% tophat變換imgTop = bwmorph

41、(BW,tophat); % 查看原始圖像figureimshow(I, )% 查看二值化圖像figure, imshow(BW, )% 查看 tophat變換圖像figure, imshow(imgTop, )二值化圖像 tophat變換圖像5imclose函數(shù) 該函數(shù)功能是對(duì)灰度圖像執(zhí)行形態(tài)學(xué)閉運(yùn)算,即使用同樣的結(jié)構(gòu)元素先對(duì)圖像進(jìn)行膨脹操作后進(jìn)行腐蝕操作。調(diào)用格式為:IM2=imclose(IM,SE)n例 對(duì)8.5節(jié)中例題二值化后的圖像進(jìn)行形態(tài)學(xué)閉運(yùn)算,MATLAB代碼如下:I = imread(coins.png);% OSTU閾值分割% 求取分割閾值level = graythres

42、h(I);% 進(jìn)行圖像分割和二值化BW = im2bw(I,level);% 生產(chǎn)形態(tài)學(xué)結(jié)構(gòu)se = strel(rectangle,3 5);%結(jié)構(gòu)元素 % 形態(tài)學(xué)閉運(yùn)算imgClo = imclose (BW, se); % 查看原始圖像figureimshow(I, )% 查看二值化圖像figure, imshow(BW, )% 查看形態(tài)學(xué)閉運(yùn)算結(jié)果 figure, imshow(imgClo, )二值化圖像 形態(tài)學(xué)閉運(yùn)算后圖像6imopen函數(shù) 該函數(shù)功能是對(duì)灰度圖像執(zhí)行形態(tài)學(xué)開運(yùn)算,即使用同樣的結(jié)構(gòu)元素先對(duì)圖像進(jìn)行腐蝕操作后進(jìn)行膨脹操作。調(diào)用格式為: IM2=imopen(IM,SE

43、)n例 對(duì)8.5節(jié)中例題二值化后的圖像進(jìn)行形態(tài)學(xué)開運(yùn)算,MATLAB代碼如下:I = imread(coins.png);% OSTU閾值分割% 求取分割閾值level = graythresh(I);% 進(jìn)行圖像分割和二值化BW = im2bw(I,level);% 生產(chǎn)形態(tài)學(xué)結(jié)構(gòu)se = strel(rectangle,3 5);%結(jié)構(gòu)元素 % 形態(tài)學(xué)開運(yùn)算imgOpe = imopen (BW, se); % 查看原始圖像figureimshow(I, )% 查看二值化圖像figure, imshow(BW, )% 查看形態(tài)學(xué)開運(yùn)算結(jié)果 figure, imshow(imgOpe, )二

44、值化圖像 形態(tài)學(xué)開運(yùn)算后圖像n8.1 讀取和顯示圖像讀取和顯示圖像n8.2 圖像的直方圖均衡圖像的直方圖均衡n8.3 灰度拉伸灰度拉伸n8.4 圖像濾波圖像濾波n8.5 閾值分割與二值化閾值分割與二值化n8.6 形態(tài)學(xué)算子形態(tài)學(xué)算子n8.7 圖像變換圖像變換n8.8 本章小結(jié)本章小結(jié)n1快速傅里葉變換 在MATLAB圖像處理工具箱中,對(duì)圖像進(jìn)行二維的傅里葉變換的函數(shù)為fft2(),其調(diào)用格式如下:(1)Y = fft2(X):對(duì)矩陣X進(jìn)行快速傅里葉變換,返回變換后傅里葉系數(shù)Y。通常,X為二維數(shù)據(jù)(一般為灰度圖像),Y與X的維數(shù)相同,且Y包含復(fù)數(shù)。(2)Y = fft2(X, m, n):對(duì)矩陣X進(jìn)行快速傅里葉變換,m和n表示返回的傅里葉系數(shù)矩陣Y的大小,如果m和n超過了數(shù)據(jù)矩陣X的大小,則返回的Y矩陣在超出X的維數(shù)部分補(bǔ)零。通常,X為二維數(shù)據(jù)(一般為灰度圖像)。 在MATLAB圖像處理工具箱中,對(duì)圖像進(jìn)行二維的逆傅里葉變換的函數(shù)為ifft2(),其調(diào)用格式如下:(1)Y = ifft2(X):對(duì)矩陣X進(jìn)行逆傅里葉變換,返回變換后二維矩陣Y。通常,X為二維數(shù)據(jù),且包含復(fù)數(shù),Y與X的維數(shù)相同。(2)Y = ifft2(X, m, n):對(duì)矩陣X進(jìn)行逆快速傅里葉變換,m和n表示返回的二維矩陣Y的大小。通常,X為二維數(shù)據(jù)。 通常利用函數(shù)fftshift(

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論