資源簡介
區域標記與面積計算。此算法可以對簡單的二值圖像進行區域標記和面積測量。

代碼片段和文件信息
clear?all
close?all
clc
th=0.5;k=1;
image=imread(‘pic.jpg‘);
pix=im2bw(imageth);
imshow(image)
v=-1.*pix+1;
I=-1.*v+1;
figure
imshow(v)
[x?y]=size(I);
for?i=2:x-1
????for?j=2:y-1
????????if?I(ij)?>?0
???????????k=k+1;
???????????I(ij)=k;
???????????if?(I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)>0)????%m1>0?m2>0?m3>0?m4>0
???????????????I(ij)=I(i-1j-1);???I(i-1j)=I(i-1j-1);??I(i-1j+1)=I(i-1j-1);?I(ij-1)=I(i-1j-1);
???????????elseif?(I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)>0)???%m1>0?m2>0?m3=0?m4>0
???????????????I(ij)=I(i-1j-1);??I(i-1j)=I(i-1j-1);?I(ij-1)=I(i-1j-1);???%k0=k1=k2=k4
???????????elseif?(I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)==0)??%m1>0?m2>0?m3=0?m4>0
???????????????I(ij)=I(i-1j-1);??I(i-1j)=I(i-1j-1);?????????%k0=k1=k2
???????????elseif?(I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)==0)??%m1>0?m2>0?m3>0?m4=0
???????????????I(ij)=I(i-1j-1);???I(i-1j)=I(i-1j-1);??I(i-1j+1)=I(i-1j-1);???%k0=k1=k2=k3
???????????elseif?(I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)==0)&&(I(ij-1)==0)??%m1>0?m2=0?m3=0?m4=0
???????????????I(ij)=I(i-1j-1);???%k0=k1
???????????elseif?(I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)==0)??%m1>0?m2=0?m3>0?m4=0
???????????????I(ij)=I(i-1j-1);??I(i-1j+1)=I(i-1j-1);?%k0=k1=k3
???????????elseif?(I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)==0)&&(I(ij-1)>0)??%m1>0?m2=0?m3=0?m4>0
???????????????I(ij)=I(i-1j-1);??I(ij-1)=I(i-1j-1);??%k0=k1=k4
???????????elseif?(I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)>0)??%m1>0?m2=0?m3>0?m4>0??
???????????????I(ij)=I(i-1j-1);??I(i-1j+1)=I(i-1j-1);??I(ij-1)=I(i-1j-1);??%k0=k1=k3=k4
???????????elseif?(I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)>0)??%m1=0?m2>0?m3>0?m4>0
???????????????I(ij)=I(i-1j);??I(i-1j+1)=I(i-1j);?I(ij-1)=I(i-1j);??%k0=k2=k3=k4
???????????elseif?(I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)==0)??%m1=0?m2>0?m3>0?m4=0???
???????????????I(ij)=I(i-1j);??I(i-1j+1)=I(i-1j);??%k0=k2=k3
???????????elseif?(I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)==0)??%m1=0?m2>0?m3=0?m4=0
???????????????I(ij)=I(i-1j);???%k0=k2
???????????elseif?(I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)>0)??%m1=0?m2>0?m3=0?m4>0??
???????????????I(ij)=I(i-1j);??I(ij-1)=I(i-1j);??%k0=k2=k4
???????????elseif?(I(i-1j-1)==0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)>0)??%m1=0?m2=0?m3>0?m4>0
???????????????I(ij)=I(i-1j+1);??I(ij-1)=I(i-1j+1);???%k0=k3=k4
???????????elseif?(I(i-1j-1)==0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)>0)??%m1=0?m2=0?m3>0?m4=0????
???????????????I(ij)=I(i-1j+1);???%k0=k3
???????????elseif?(I(i-1j-1)==0)&&(I(i-1j)==0)&&(I(i-1j+1)==0)&&(I(ij-1)>0)??%m1=0?m2=0?m3>0?m4=0
???????????????I(ij)=I(ij-1);
???????????end?
????????if?(I(i-1j-1)>0)||(I(i-1j)>0)||(I(i-1j+1)>0)||(I(ij-1)>0)
???????????????k=k-1;?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4526??2009-03-02?17:34??區域標記\labeling.m
?????文件???????4245??2007-02-04?10:32??區域標記\pic.JPG
????..A.SH.??????4608??2011-04-30?11:09??區域標記\Thumbs.db
?????目錄??????????0??2011-04-30?20:00??區域標記
-----------?---------??----------?-----??----
????????????????13379????????????????????4
- 上一篇:QT調用matlab引擎
- 下一篇:時頻重排同步壓縮matlab
評論
共有 條評論