圖像代數(shù)運(yùn)算與邏輯運(yùn)算_第1頁(yè)
圖像代數(shù)運(yùn)算與邏輯運(yùn)算_第2頁(yè)
圖像代數(shù)運(yùn)算與邏輯運(yùn)算_第3頁(yè)
圖像代數(shù)運(yùn)算與邏輯運(yùn)算_第4頁(yè)
圖像代數(shù)運(yùn)算與邏輯運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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)介

圖像代數(shù)運(yùn)算與邏輯運(yùn)算第一頁(yè),共四十六頁(yè),編輯于2023年,星期五例3-1利用矩陣的加減運(yùn)算增加或減少圖像中的某種顏色成分。A=imread('0045.jpg');s=size(A);B=double(A);C(:,:,1)=B(:,:,1)+B(:,:,2);C(:,:,2)=B(:,:,2);C(:,:,3)=B(:,:,3)-B(:,:,2);fori=1:s(1)forj=1:s(2)fork=1:s(3)ifC(i,j,k)<0C(i,j,k)=0;endifC(i,j,k)>255C(i,j,k)=255;endendendendC=uint8(C);subplot(1,2,1);imshow(A)subplot(1,2,2);imshow(C)3.1圖像的加減乘除運(yùn)算第二頁(yè),共四十六頁(yè),編輯于2023年,星期五例3-2A=imread('0045.jpg');s=size(A);B=double(A);Q1=zeros(s(1),s(2));Q2=zeros(s(1),s(2));form=s(1):-1:1forn=s(2):-1:1Q1(m,n)=m;Q2(m,n)=n;endendC(:,:,1)=B(:,:,1);C(:,:,2)=B(:,:,2)-Q2;C(:,:,3)=B(:,:,3)+Q1/3;fori=1:s(1)forj=1:s(2)fork=1:s(3)ifC(i,j,k)<0C(i,j,k)=0;endifC(i,j,k)>255C(i,j,k)=255;endendendendC=uint8(C);subplot(1,2,1);imshow(A)subplot(1,2,2);imshow(C)第三頁(yè),共四十六頁(yè),編輯于2023年,星期五圖像加減運(yùn)算圖像的加減運(yùn)算實(shí)質(zhì)上就是兩個(gè)矩陣或者三維數(shù)組進(jìn)行加減運(yùn)算。

【例3-3】利用矩陣的加減運(yùn)算為圖像添加背景。A=imread('D:\0043.jpg');B=imread('D:\125.jpg');s1=size(A);s2=size(B);m=s2(1);n=s2(2);A1=imresize(A,[mn]);A2=double(A1);B1=double(B);C=A2+B1;C1=uint8(C);subplot(1,3,1);imshow(A)subplot(1,3,2);imshow(B)subplot(1,3,3);imshow(C1)合理的選擇兩個(gè)圖像,或者先對(duì)圖像進(jìn)行處理,然后把兩個(gè)圖象相加,使一個(gè)圖象成為背景。左面程序就是把圖像125.jpg作為背景。第四頁(yè),共四十六頁(yè),編輯于2023年,星期五程序的運(yùn)行結(jié)果為圖3-3。程序中,為了把兩個(gè)圖像變?yōu)榇笮∠嗤?,使用了語(yǔ)句A1=imresize(A,[mn])。語(yǔ)句C1=uint8(C)是為了繪圖才使用的,作者在實(shí)驗(yàn)時(shí)發(fā)現(xiàn)不使用語(yǔ)句C1=uint8(C),程序繪制不出圖3-3(c)。

前景圖0043.jpg(b)背景圖125.jpg(c)合成圖像

圖3-3為圖像添加背景

【思考題】如何修改上面例3-3中的程序,使背景圖象清楚一些。

第五頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-4】動(dòng)畫效果。A=imread('D:\0010.jpg');s=size(A);m=s(1),n=s(2);B=zeros(m,n);A1=double(A);fori=1:10:255B(100:250,250:380)=i;A1(:,:,3)=A1(:,:,3)-B;A2=uint8(A1);imshow(A2)end程序中,語(yǔ)句B(100:250,250:380)=i是把矩陣B中的一塊賦值為i,隨著i的增加,矩陣B中的這一塊的值也在增加。然后利用語(yǔ)句A1(:,:,3)=A1(:,:,3)-B讓花附近的藍(lán)顏色逐漸減少。

第六頁(yè),共四十六頁(yè),編輯于2023年,星期五(a)i=1(b)i=150(c)i=250圖3-4圖像局部塊藍(lán)色逐漸消失【思考題】如何修改上面例3-4中的程序,使花附近的綠顏色逐漸漸少。

程序運(yùn)行結(jié)果是一個(gè)花顏色逐漸改變的動(dòng)畫,為了方便觀察分析,取其中幾幀放在圖3-4中。

第七頁(yè),共四十六頁(yè),編輯于2023年,星期五圖像的乘除運(yùn)算

圖像的乘除運(yùn)算主要指圖像矩陣與常數(shù)進(jìn)行乘除運(yùn)算、圖像矩陣與圖像矩陣對(duì)應(yīng)元素進(jìn)行乘除運(yùn)算、圖像矩陣與圖像矩陣進(jìn)行矩陣乘法運(yùn)算等。1圖像矩陣與常數(shù)進(jìn)行乘除運(yùn)算圖像矩陣與常數(shù)進(jìn)行乘除運(yùn)算就相當(dāng)于把矩陣所有元素都擴(kuò)大或縮小一定的倍數(shù)。當(dāng)矩陣(元素)乘以大于1的數(shù)時(shí),圖像亮度增加;乘以小于1的數(shù)時(shí),圖像變暗。

第八頁(yè),共四十六頁(yè),編輯于2023年,星期五2圖像矩陣與圖像矩陣進(jìn)行逐元素對(duì)應(yīng)乘除運(yùn)算在Matlab中,兩個(gè)數(shù)組進(jìn)行逐元素對(duì)應(yīng)相乘使用語(yǔ)句A.*B,即在前一個(gè)數(shù)組的右下角加上一個(gè)點(diǎn)。這種乘法要求A與B兩個(gè)數(shù)組維數(shù)相同,運(yùn)算完后得到相同維數(shù)的數(shù)組。在這本書(shū)中,我們把這種乘法叫做矩陣(元素)對(duì)應(yīng)相乘。

3兩個(gè)圖像矩陣按照數(shù)學(xué)上定義的乘法進(jìn)行運(yùn)算兩個(gè)圖像矩陣按照數(shù)學(xué)上定義的乘法進(jìn)行運(yùn)算以后,得到的新圖像已經(jīng)完全失去了原圖像的形狀,得到的新圖像往往是不可思議的。

第九頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-5】觀察分析圖像矩陣乘以或除以常數(shù)后圖像亮度的改變。A=imread('D:\0010.jpg');A1=double(A);A2=A1*1.5;A3=A1/1.5;A2=uint8(A2);A3=uint8(A3);subplot(1,3,1);imshow(A)subplot(1,3,2);imshow(A2)subplot(1,3,3);imshow(A3)原圖像

(b)乘以1.5后

(c)除以1.5后

圖3-5圖像與常數(shù)乘除可以改變圖像的亮度

設(shè)計(jì)左面程序,程序運(yùn)行結(jié)果是圖3-5。

第十頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-6】利用矩陣對(duì)應(yīng)相乘把兩個(gè)圖像合成在一起。

A=imread('D:\0045.jpg');B=imread('D:\0041.jpg');s=size(A);m=s(1),n=s(2);B1=imresize(B,[mn]);A=double(A);C=double(B1);D=A.*C/128;D=uint8(D);subplot(1,3,1);imshow(A)subplot(1,3,2);imshow(B)subplot(1,3,3);imshow(D)

設(shè)計(jì)左面程序,實(shí)現(xiàn)兩個(gè)矩陣對(duì)應(yīng)相乘運(yùn)算。第十一頁(yè),共四十六頁(yè),編輯于2023年,星期五

程序運(yùn)行結(jié)果如圖3-6所示。

(a)圖像0045.jpg(b)圖像0041.jpg(c)對(duì)應(yīng)相乘以后圖3-6圖像對(duì)應(yīng)元素相乘得到新圖像的效果

程序中語(yǔ)句B1=imresize(B,[mn])是為了把數(shù)組B變?yōu)锳一樣大??;語(yǔ)句D=A.*C/128中除以128是為了縮小乘積元素的值;使用語(yǔ)句A=double(A)是把數(shù)組元素變?yōu)殡p精度數(shù)便于計(jì)算;使用語(yǔ)句D=uint8(D)是為了顯示的需要。圖3-6中實(shí)現(xiàn)的合成效果比較好,加法運(yùn)算出現(xiàn)不了這個(gè)效果。一般情況下,乘法能夠保留黑色,加法能夠保留白色?!舅伎碱}】為什么一般情況下,乘法能夠保留黑色,加法能夠保留白色?

第十二頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-7】利用矩陣乘法計(jì)算并且比較手寫數(shù)字圖像乘積的特征。

A=imread('D:\00.jpg');B=imread('D:\11.jpg');s=size(A);m=s(1),n=s(2);B1=imresize(B,[nm]);A1=double(A);B2=double(B1);C(:,:,1)=(A1(:,:,1)*B2(:,:,1))/(160*n);C(:,:,2)=(A1(:,:,2)*B2(:,:,2))/(160*n);C(:,:,3)=(A1(:,:,3)*B2(:,:,3))/(160*n);C=uint8(C);subplot(1,3,1);imshow(A)subplot(1,3,2);imshow(B)subplot(1,3,3);imshow(C)第十三頁(yè),共四十六頁(yè),編輯于2023年,星期五利用上面程序,更換讀入的圖像,可以得到圖3-7所示圖形。

(a)實(shí)驗(yàn)用的4個(gè)圖像

(b)一個(gè)0與一個(gè)1的乘積

(c)一個(gè)0與另一個(gè)0的乘積

(d)一個(gè)1與另一個(gè)1的乘積

圖3-7不同圖像實(shí)行矩陣乘法以后得到的乘積圖像比較在這個(gè)例題中,完全可以先把圖像變?yōu)榛叶葓D像。這樣的話,就可以簡(jiǎn)化程序。不過(guò),上面程序是針對(duì)任意彩色圖像編寫的,所以可以使用該程序?qū)ζ渌噬珗D像進(jìn)行實(shí)驗(yàn)??梢岳美?-7的方法對(duì)手寫數(shù)字與手寫漢字等進(jìn)行識(shí)別。

第十四頁(yè),共四十六頁(yè),編輯于2023年,星期五3.2圖像的特征值與奇異值

圖像矩陣的特征值1圖像矩陣特征值矩陣特征值是這樣定義的:設(shè)A是[nn]矩陣,如果數(shù)λ與n維非零向量X滿足方程(3-1)則稱數(shù)λ為矩陣A的特征值,稱非零向量X為矩陣A的特征向量。

Matlab提供了求取特征值的函數(shù)eig(A),其中A是參數(shù),是要求取特征值的矩陣。

第十五頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-9】比較相近圖像的特征值。

編寫下面程序:k=input('請(qǐng)輸入文件名:');A=imread(k);s=size(A);s2=s(2);A1=rgb2gray(A);A2=double(A1);A3=imresize(A2,[s2s2]);T=eig(A3);T'程序的運(yùn)行結(jié)果是首先在命令窗口顯示:“請(qǐng)輸入文件名:”,然后在這個(gè)提示后面輸入’D:\0.jpg’,按Enter鍵,則可以計(jì)算出0.bmp(調(diào)整為方陣后)的特征值。因?yàn)閳D像0.bmp有白色邊緣,所以有一些行或者列線性相關(guān),求得的特征值中排在后面的有一些是0。比較起來(lái)1的手寫圖像的特征值為0的比較多,因?yàn)?的手寫圖像相同的行或者列比較多。第十六頁(yè),共四十六頁(yè),編輯于2023年,星期五(b)(c)(d)圖3-84個(gè)手寫數(shù)字圖像(a)的文件名為0.bmp,(b)的文件名為00.bmp,(c)的文件名為1.bmp,(d)的文件名為11.bmp從數(shù)值上能夠觀察出幾個(gè)圖像的特征值的差別。為了更準(zhǔn)確的分析幾個(gè)圖像特征值之間的相近與差別,編寫左面程序:fori=1:4k=input('請(qǐng)輸入文件名:');A=imread(k);s=size(A);A1=double(A);A2=imresize(A1,[s(2)s(2)]);T=eig(A2);T1=abs(T);subplot(4,1,i)plot(T1)end第十七頁(yè),共四十六頁(yè),編輯于2023年,星期五程序運(yùn)行時(shí),需要四次輸入4個(gè)圖像文件名。程序的運(yùn)行結(jié)果如圖3-9所示。圖3-9中的4個(gè)曲線從上到下分別對(duì)應(yīng)著圖像0.bmp、00.bmp、1.bmp、11.bmp,是把這4個(gè)圖像的特征值求出,然后取絕對(duì)值(復(fù)數(shù)取模),最后把絕對(duì)值繪制出來(lái)。從圖3-9可以看出兩個(gè)0的特征值分布曲線比較接近,兩個(gè)1的特征值分布曲線比較接近,所以可以使用這種方法對(duì)手寫數(shù)字圖像進(jìn)行識(shí)別。語(yǔ)句k=input('請(qǐng)輸入文件名:')運(yùn)行后,函數(shù)input將在命令窗口顯示提示行“請(qǐng)輸入文件名:”,輸入文件名時(shí),要把路徑與文件名加上單引號(hào)。

圖3-9四個(gè)手寫數(shù)字圖像的特征值分布

第十八頁(yè),共四十六頁(yè),編輯于2023年,星期五

2圖像矩陣特征向量在式3-1中,X就是矩陣的特征向量。因?yàn)橐粋€(gè)方矩陣的特征值個(gè)數(shù)等于該矩陣的階數(shù),即[nn]矩陣的特征值有n個(gè),所以特征向量至少有n個(gè)。求特征值時(shí),需要用二維方陣,在研究特征向量時(shí)也必須把圖像化為灰度圖像,或者單獨(dú)使用彩色圖像的紅色陣、綠色陣、藍(lán)色陣等。

【例3-10】求圖像矩陣的特征向量。A=imread('D:\shizi1.bmp');A1=rgb2gray(A);A2=double(A1);[GT]=eig(A2);G使用左面程序可以求出并且在命令窗口顯示出圖像的特征向量。變量G中存儲(chǔ)的就是灰度圖像A1的特征向量。第十九頁(yè),共四十六頁(yè),編輯于2023年,星期五圖像矩陣的奇異值

矩陣的奇異值是這樣定義的:設(shè)m×n矩陣A的秩為r,則必存在一個(gè)m×m階正交矩陣Qm和一個(gè)n×n階正交矩陣Qn,使

QmTAQn=S

右端矩陣S為n×n階對(duì)角矩陣,我們稱S的主對(duì)角元為A的奇異值。矩陣的奇異值都是實(shí)數(shù),并且矩陣不必須是方陣。圖像矩陣的奇異值是圖像的一個(gè)比較重要的特征,在圖象識(shí)別研究中有著廣泛的應(yīng)用。

第二十頁(yè),共四十六頁(yè),編輯于2023年,星期五第二十一頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-13】計(jì)算人臉圖像的奇異值。設(shè)計(jì)如下程序,目的是給出一個(gè)人臉圖像的5種變化,然后求這5個(gè)圖像的奇異值,觀察奇異值的變化情況。A=imread('D:\0550.jpg');A1=double(A);A2=imrotate(A,2);A3=imadjust(A,[00.5],[0.51]);A4=A1*1.8;A5=imnoise(A);A3=uint8(A3);A4=uint8(A4);imwrite(A1,'0551.jpg');imwrite(A2,'0552.jpg');imwrite(A3,'0553.jpg');imwrite(A4,'0554.jpg');subplot(1,5,1);imshow(A);subplot(1,5,2);imshow(A2);subplot(1,5,3);imshow(A3);subplot(1,5,4);imshow(A4);subplot(1,5,5);imshow(A5)第二十二頁(yè),共四十六頁(yè),編輯于2023年,星期五程序的運(yùn)行結(jié)果是圖3-11。(a)(b)(c)(d)(e)(a)為原圖像,(b)為旋轉(zhuǎn)2度后圖像,(c)為顏色調(diào)整后圖像(d)為擴(kuò)大1.8倍后圖像,(e)為加入噪音后圖像

圖3-11一個(gè)人臉圖像的5種改變

函數(shù)imwrite(A1,'0551.jpg')是向硬盤存儲(chǔ)文件用的,該語(yǔ)句把數(shù)組A1存儲(chǔ)為0551.jpg,默認(rèn)是存儲(chǔ)在Matlab的work子目錄中。該例題是存儲(chǔ)在C:\MATLAB6p5\work中。在程序運(yùn)行之前,機(jī)器中沒(méi)有0551-0554.jpg這幾個(gè)文件,程序運(yùn)行后,這幾個(gè)文件才被生成并且存儲(chǔ)在C:\MATLAB6p5\work中。函數(shù)imnoise是用來(lái)產(chǎn)生噪音的,為了實(shí)驗(yàn)的需要,在圖像中加入噪音。

第二十三頁(yè),共四十六頁(yè),編輯于2023年,星期五處理完這幾個(gè)圖像后,接著就求取這5個(gè)圖像的奇異值,并且進(jìn)行比較。使用下面程序:fori=1:5k=i-1;k1=int2str(k);k2=strcat('C:\MATLAB6p5\work\055',k1,'.jpg');A=imread(k2);A1=imresize(A,0.5);A2=double(A1);A3=rgb2gray(A2);T=svd(A3);subplot(2,3,i)plot(T(2:20))end程序使用循環(huán)語(yǔ)句一次性完成了求5個(gè)圖像奇異值的工作。第二十四頁(yè),共四十六頁(yè),編輯于2023年,星期五3.3圖像邏輯運(yùn)算

二值圖像邏輯運(yùn)算【例3-14】使用函數(shù)im2bw()把灰度圖像、索引圖像、RGB圖像等轉(zhuǎn)化為二值圖像并顯示結(jié)果。(level=graythresh(I))

編寫下面程序,運(yùn)行后的結(jié)果如圖3-14所示。

A1=imread('D:\0011.jpg');B1=im2bw(A1,0.39);A2=imread('D:\flower1.bmp');B2=im2bw(A2);A3=imread('D:\125.jpg');B3=im2bw(A3,0.4);subplot(2,3,1);imshow(A1)subplot(2,3,2);imshow(A2)subplot(2,3,3);imshow(A3)subplot(2,3,4);imshow(B1)subplot(2,3,5);imshow(B2)subplot(2,3,6);imshow(B3)

第二十五頁(yè),共四十六頁(yè),編輯于2023年,星期五圖像0011.jpg是彩色RGB圖像,flower1.bmp是灰度圖像,125.jpg是索引圖像。

(a)圖像0011.jpg(b)圖像flower1.bmp(c)圖像125.jpg

(d)圖像0011的二值圖像

(e)圖像flower1的二值圖像

(f)圖像125的二值圖像

圖3-14把灰度圖像、索引圖像、RGB圖像等轉(zhuǎn)化為二值圖像第二十六頁(yè),共四十六頁(yè),編輯于2023年,星期五例3-15二值圖像與、或、非、異或運(yùn)算A1=imread('1.bmp');A2=imread('11.bmp');A3=imread('0.bmp');A4=imread('00.bmp');B1=im2bw(A1);B2=im2bw(A2);B3=im2bw(A3);B4=im2bw(A4);C1=B1&B3;C2=B2|B3;C3=~B1;C4=xor(B3,B4);subplot(2,4,1);imshow(B1)subplot(2,4,2);imshow(B2)subplot(2,4,3);imshow(B3)subplot(2,4,4);imshow(B4)subplot(2,4,5);imshow(C1)subplot(2,4,6);imshow(C2)subplot(2,4,7);imshow(C3)subplot(2,4,8);imshow(C4)第二十七頁(yè),共四十六頁(yè),編輯于2023年,星期五二值圖像膨脹與腐蝕

一般來(lái)說(shuō)對(duì)于二值圖像,膨脹運(yùn)算后圖像中物體“加長(zhǎng)”或“變粗”;腐蝕運(yùn)算后圖像中物體“收縮”或“細(xì)化”。下面先通過(guò)一些例題觀察分析膨脹與腐蝕后的效果,總結(jié)二值圖像膨脹與腐蝕運(yùn)算的方法與原則,最后給出二值圖像膨脹與腐蝕運(yùn)算的準(zhǔn)確描述以及簡(jiǎn)單的應(yīng)用。

1二值圖像膨脹運(yùn)算

先通過(guò)下面例題觀察分析幾個(gè)二值圖像膨脹算子的不同效果。

第二十八頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-16】對(duì)二值圖像實(shí)施膨脹運(yùn)算。

設(shè)計(jì)如下程序,結(jié)果顯示在圖3-16中。

A=imread('C:\MATLAB6p5\work\bc.bmp');B=~A;M=[1;1;1];N=[110];P=[001;010;000];Q=[001;000;100];C1=imdilate(B,M);C2=imdilate(B,N);C3=imdilate(B,P);C4=imdilate(B,Q);subplot(1,5,1);imshow(B)subplot(1,5,2);imshow(C1)subplot(1,5,3);imshow(C2)subplot(1,5,4);imshow(C3)subplot(1,5,5);imshow(C4)

第二十九頁(yè),共四十六頁(yè),編輯于2023年,星期五

(a)(b)(c)(d)(e)

圖3-16二值圖像的膨脹運(yùn)算

M、N、P、Q是4個(gè)算子,M是一個(gè)列向量,N是一個(gè)行向量。P、Q都是[33]矩陣,P、Q分別為:

算子由0、1構(gòu)成,有1的位置用來(lái)定義算子覆蓋區(qū)域的鄰域。這里的(算子覆蓋)鄰域概念很重要,算子覆蓋時(shí),算子上有1的地方稱為中心點(diǎn)處的鄰域。在對(duì)二值圖像進(jìn)行膨脹運(yùn)算時(shí),也使用算子在圖像上滑動(dòng)。如果圖像的算子覆蓋鄰域內(nèi)有1,那么覆蓋區(qū)域中心的輸出值就為1,也就是新圖像在覆蓋區(qū)域中心的值為1。否則為0。

第三十頁(yè),共四十六頁(yè),編輯于2023年,星期五程序中讀入的圖像bc.bmp是白色背景黑色字體,使用語(yǔ)句B=~A把圖像bc.bmp變?yōu)楹谏尘鞍咨煮w,如圖3-16(a)所示。該圖像是二值圖像,所有數(shù)據(jù)顯示在圖3-17中。字體b與c所在范圍用灰色標(biāo)出。

圖3-17二值圖像bc.bmp的顏色數(shù)據(jù)

第三十一頁(yè),共四十六頁(yè),編輯于2023年,星期五為了節(jié)省篇幅,這里只研究字母b被膨脹后的變化情況。下圖中的4個(gè)圖像都是字母b的變化情況。

(a)使用M膨脹后的結(jié)果

(b)使用N膨脹后的結(jié)果

(c)使用P膨脹后的結(jié)果

(d)使用Q膨脹后的結(jié)果

第三十二頁(yè),共四十六頁(yè),編輯于2023年,星期五下面以圖3-19為例詳細(xì)講解二值圖像膨脹運(yùn)算規(guī)則。圖3-19使用的是算子Q。對(duì)于算子Q,只要覆蓋區(qū)域的左下角與右上角至少有一個(gè)為1(兩個(gè)為1也可以),那么在覆蓋區(qū)域的中心位置的返回值就是1。所以,當(dāng)算子移動(dòng)到位置“1”時(shí),因?yàn)橛疑辖翘庮伾禐?,所以在覆蓋區(qū)域中心(5,3)處輸出顏色值1,如圖3-19(b)位置“1”所示。當(dāng)算子移動(dòng)到位置“2”時(shí),因?yàn)橛疑辖翘庮伾禐?(其他處為1不起作用),所以在覆蓋區(qū)域中心(8,7)處輸出顏色值1,如圖3-19(b)位置“2”所示。當(dāng)算子移動(dòng)到位置“3”時(shí),因?yàn)樽笙陆桥c右上角處顏色值都不為1,所以在覆蓋區(qū)域中心(12,9)處輸出顏色值0,如圖3-19(b)位置“3”所示。

第三十三頁(yè),共四十六頁(yè),編輯于2023年,星期五(a)圖像3-16(a)的一部分,即有字母b的那部分,圖3-17左邊的一部分?jǐn)?shù)據(jù)

第三十四頁(yè),共四十六頁(yè),編輯于2023年,星期五(b)圖(a)使用Q膨脹后的部分結(jié)果,即3-18(d)的放大。圖3-19二值圖像膨脹運(yùn)算規(guī)則

第三十五頁(yè),共四十六頁(yè),編輯于2023年,星期五其他算子的運(yùn)算規(guī)則都與上面所述相同。運(yùn)算結(jié)果與原圖像有關(guān),算子形狀與圖像的鄰域情況決定了運(yùn)算結(jié)果。另外,從上面描述情況看,二值圖像膨脹運(yùn)算本質(zhì)上是邏輯運(yùn)算。數(shù)學(xué)上,二值圖像膨脹運(yùn)算可以用集合定義如下:其中,A為原圖像,B為算子。就是上面描述的那種覆蓋操作,是空集,是計(jì)算后的輸出值。

第三十六頁(yè),共四十六頁(yè),編輯于2023年,星期五2二值圖像腐蝕運(yùn)算二值圖像腐蝕運(yùn)算本質(zhì)上也是邏輯運(yùn)算,可以用如下數(shù)學(xué)定義描述二值圖像腐蝕運(yùn)算:

其中,A為原圖像,B為算子。Ac是A的補(bǔ)集。是移動(dòng)覆蓋操作,是空集,是計(jì)算后的輸出值。在進(jìn)行腐蝕運(yùn)算時(shí),算子移動(dòng)一下,輸出一個(gè)新值賦給算子覆蓋處的中心位置。計(jì)算輸出值的方法是:如果算子覆蓋鄰域內(nèi)圖像像素值有為0的,那么中心位置的輸出值為0,否則為1。根據(jù)上面定義與說(shuō)明,結(jié)合下面例3-17來(lái)理解圖像腐蝕運(yùn)算規(guī)則。

第三十七頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-17】對(duì)二值圖像實(shí)施腐蝕運(yùn)算。把3-16中程序語(yǔ)句:C1=imdilate(B,M);C2=imdilate(B,N);C3=imdilate(B,P);C4=imdilate(B,Q);修改為:C1=imerode(B,M);C2=imerode(B,N);C3=imerode(B,P);C4=imerode(B,Q);其他語(yǔ)句不變,程序運(yùn)行的結(jié)果是圖3-20。

圖3-20二值圖像腐蝕運(yùn)算

程序中的函數(shù)imerode是用來(lái)進(jìn)行腐蝕運(yùn)算的。腐蝕運(yùn)算后,原來(lái)圖像一般會(huì)變細(xì)變小。

第三十八頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-18】對(duì)二值圖像實(shí)施腐蝕運(yùn)算,并且與膨脹運(yùn)算進(jìn)行比較。設(shè)計(jì)下面程序:

A=imread('0370.bmp');B=im2bw(A);B=~B;M=strel('diamond',3);C1=imerode(B,M);C2=imdilate(B,M);subplot(1,3,1);imshow(B)subplot(1,3,2);imshow(C1)subplot(1,3,3);imshow(C2)

程序運(yùn)行結(jié)果如圖3-21所示。

第三十九頁(yè),共四十六頁(yè),編輯于2023年,星期五

(a)原圖像

(b)腐蝕后的圖像

(c)膨脹后的圖像圖3-21二值圖像腐蝕與膨脹比較

函數(shù)strel是專門用來(lái)生成算子模板的,strel('diamond',3)生成的算子模板為:0001000001110001111101111111011111000111000001000函數(shù)strel還可以生成‘square’、‘line’、‘disk’、‘periodicline’、‘pair’、‘octagon’等模板。該算子模板呈菱形結(jié)構(gòu),一共有25個(gè)1。該算子覆蓋區(qū)域呈菱形。第四十頁(yè),共四十六頁(yè),編輯于2023年,星期五3灰度圖像膨脹與腐蝕灰度圖像膨脹腐蝕定義分平坦與非平坦兩種,關(guān)于灰度圖像非平坦膨脹腐蝕定義,可以參考其他資料。這里提到灰度圖像膨脹腐蝕都是指平坦的灰度圖像膨脹腐蝕?;叶葓D像膨脹腐蝕的定義與二值圖像膨脹腐蝕的定義有些區(qū)別,一般定義灰度圖像膨脹為定義灰度圖像腐蝕為灰度圖像膨脹實(shí)質(zhì)上是求鄰域內(nèi)最大值作為輸出;灰度圖像腐蝕是求鄰域內(nèi)最小值作為輸出。鄰域仍然是由各種算子模板來(lái)定義的。第四十一頁(yè),共四十六頁(yè),編輯于2023年,星期五【例3-19】對(duì)灰度圖像實(shí)施膨脹腐蝕運(yùn)算。設(shè)計(jì)下面程序A=imread('D:\flower1.bmp');A1=rgb2gray(A);se=strel('square',3);A2=imdilate(A1,se);A3

溫馨提示

  • 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)論