Matlab一種二值化圖像的形態(tài)學(xué)操作程序_第1頁
Matlab一種二值化圖像的形態(tài)學(xué)操作程序_第2頁
Matlab一種二值化圖像的形態(tài)學(xué)操作程序_第3頁
Matlab一種二值化圖像的形態(tài)學(xué)操作程序_第4頁
Matlab一種二值化圖像的形態(tài)學(xué)操作程序_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、Matlab中將一幅圖像閾值分割二值化非常簡單,若需要通過閾值th2二值化保留一些大面積的、且有灰度值含有大于th1的點(diǎn)的前景區(qū)域,而不需要小面積的區(qū)域(th1大于th2 ),這時會遇到這 樣的問題:當(dāng)閾值選為th2時會把一些小面積區(qū)域也保留下來; 若把 閾值增大到th1 ,小面積的區(qū)域沒了,但是原來大面積的區(qū)域又會減 ??;若要直接去掉閾值th2二值化圖像中面積小于某一值的的區(qū)域, 需要計(jì)算每個區(qū)域的面積,計(jì)算量大,而且有的區(qū)域中并沒有含有大 于th1的點(diǎn)。卜面利用數(shù)學(xué)形態(tài)學(xué)的方法來解決上述問題。這里主要是采用數(shù)學(xué)形態(tài)學(xué)中的腐蝕與膨脹操作, 采用均值濾波、灰度圖像 高閾值二值化、種子點(diǎn)選擇、灰

2、度圖像低閾值二值化和選擇濾波相結(jié)合的方法, 具體來說:腐蝕過程采用均值濾波和高閾值對第一細(xì)分圖像二值化,濾掉面積較小的區(qū)域,得到較大的區(qū)域,然后選擇每個區(qū)域的種子點(diǎn);膨脹過程采用低閾值 對第一細(xì)分圖像二值化,保留含有種子點(diǎn)的區(qū)域,其它的均過濾掉。經(jīng)過腐蝕和 膨脹操作后,得到所希望的結(jié)果,見下圖。程序如下:wmf10=imread('mwf1.bmp'); % 讀取圖像wmf1=wmf10(:,:,1);%由于是灰度圖像,三個頁面相同,故只對第一頁面數(shù)據(jù)操 作figure(1);subplot(121);imagesc(wmf1);colormap(gray); % 顯示原圖象h

3、=fspecial( 'average' ,3);wmf1_filted=uint8(round(filter2(h,wmf1); %均值濾波th1=0.94*max(max(wmf1); % 確定閾值 th1wmf1th1=(wmf1_filted>th1); % 按閾值 th1 二值化wmf1th1_label numth1_label=bwlabel(wmf1th1,8);rc=zeros(2,numth1_label); %選擇種子點(diǎn)坐標(biāo)for i=1:numth1_labelr c=find(wmf1th1_label=i);rc(1,i)=r(2);rc(2,

4、i)=c(2);endr=rc(1,:);c=rc(2,:);coe=1.4;th2=mean2(wmf1)+coe*std2(wmf1); % 確定閾值 th2wmf1th2=(wmf1>th2); % 按閾值 th2 二值化wmf1th2_select=bwselect(wmf1th2,c,r,8); %保留含有種子點(diǎn)的前景區(qū)域subplot(122);imagesc(wmf1th2_select);colormap(gray);上述程序主要是采用了 bwlabel和beselect函數(shù),雖然沒有直接使用 Matlab的形態(tài)學(xué)操作的膨脹、腐蝕函數(shù),但其實(shí)質(zhì)過程和達(dá)到的效果是遵循形態(tài)學(xué)

5、操作原理的,因而這也為形態(tài)學(xué)操作提供了其他的編程實(shí)現(xiàn)過程。有心的讀者可以試試看,能否用dilate和erosion函數(shù)完成同樣的任務(wù)。matlab數(shù)學(xué)形態(tài)學(xué)圖像邊緣檢測blood = imread('test.jpg');x,y,z=size(blood);b=double(blood);N =sqrt(100) * randn(x,y,z);I=b+N;for i=1:xfor j=1:yif (I(i,j)>255)I(i,j)=255;endif (I(i,j)<0)I(i,j)=0;endendendz0=max(max(I);z1=min(min(I);T

6、=(z0+z1)/2;TT=0;S0=0; n0=0;S1=0; n1=0;allow=0.5;d=abs(T-TT);count=0;while(d>=allow)%求出圖象大小%生成方差為10的白噪聲% 噪聲干擾圖象%實(shí)際圖象的灰度為0255%求出圖象中最大的灰度%最小的灰度%新舊閾值的允許接近程度%記錄幾次循環(huán)%迭代最佳閾值分割算法count=count+1;for i=1:xfor j=1:yif (I(i,j)>=T)S0=S0+I(i,j);n0=n0+1;endif (I(i,j)<T)S1=S1+I(i,j);n1=n1+1;endendendT0=S0/n0

7、;T1=S1/n1;TT=(T0+T1)/2;d=abs(T-TT);T=TT;endSeg=zeros(x,y);for i=1:xfor j=1:yif(I(i,j)>=T)Seg(i,j)=1;%閾值分割的圖象endendendSI=1-Seg;%閾值分割后的圖象求反,便于用腐蝕算法求邊緣se1=strel('square',3);%定義腐蝕算法的結(jié)構(gòu)SI1=imerode(SI,se1);BW=SI-SI1;%腐蝕算法%邊緣檢測%=傳統(tǒng)的邊緣檢測方法=%I=uint8(I);BW1=edge(SI,'sobel', 0.11);BW2=edge(SI,'log', 0.015);%=圖象顯示=%figure(1);imshow(I);title('Original')% 顯示閾值分割的圖象figure(2);imshow(BW2);title('Soble&

溫馨提示

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

最新文檔

評論

0/150

提交評論