資源簡介
matlab 邊緣檢測并求出面積,周長以及質心
=imread('*.jpg');
c=rgb2gray(d);
T1=graythresh(c);
BW=im2bw(c,T1);
s1=lvbo(BW,50);
M=[1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1;1 1 1];
h=imdilate(s1,M);
p=imerode(h,M);
k=bwperim(p);
p1=0;
k1=0;
.....

代碼片段和文件信息
d=imread(‘C:\Documents?and?Settings\Administrator\桌面\(6)檢測面積1a.jpg‘);
c=rgb2gray(d);
T1=graythresh(c);
BW=im2bw(cT1);
s1=lvbo(BW50);
M=[1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1;1?1?1];
h=imdilate(s1M);
p=imerode(hM);
k=bwperim(p);
p1=0;
k1=0;
for?i=1:480
????for?j=1:640
????????if?p(ij)==1
????????????p1?=?p1+1;
????????end
????end
end
for?i=1:480
????for?j=1:640
????????if?k(ij)==1
????????????k1=k1+1;
????????end
????end
end
subplot(131);imshow(p);
subplot(132);imshow(k);
pp=p;
sa=size(pp);
ma=sum(sum(pp));
zhixin=[0?0];
m=0;
for?i=1:sa(1)
????for?j=1:sa(2)
????????m=pp(ij)+m;
????????if?m<(ma/2)
????????????zhixin(1)=i;
????????end
????end
end
m=0;
for?j=1:sa(2)
????for?i=1:sa(1)
????????m=pp(ij)+m;
????????if?m<(ma/2)
????????????zhixin(2)=j;
????????end
????end
end
zhixin
pp(zhixin(1)-1:zhixin(1)+1zhixin(2)-1:zhixin(2)+1)=0;
subplot(133);imshow(pp);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1067??2009-05-08?16:25??JCmain.m
?????文件????????288??2009-05-05?11:08??lvbo.m
?????文件??????82640??2009-02-14?17:23??(6)檢測面積2.JPG
-----------?---------??----------?-----??----
????????????????83995????????????????????3
評論
共有 條評論