資源描述:
《計算連通域的面積、周長、圓形度、矩形度以及長寬比》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、計算連通域的面積、周長、圓形度、矩形度以及長寬比1計算連通域的面積、周長、圓形度、矩形度以及長寬比二值化最小矩結(jié)果:Ar=82209241719193050203133perimeter=1625426254118112metric=3.93603.98193.14714.00784.53053.1386Pwl=1.08161.03031.27201.03031.14671.22計算連通域的面積、周長、圓形度、矩形度以及長寬比500Pr=0.79130.82350.86500.82890.77830.5420>>代碼clear,clcRGB=imread(
2、'pillsetc.png');figure,imshow(RGB);I=rgb2gray(RGB);threshold=graythresh(I);bw=im2bw(I,threshold);figure,imshow(bw)%removeallobjectcontainingfewerthan30pixelsbw=bwareaopen(bw,30);%fillagapinthepen'scapse=strel('disk',2);bw=imclose(bw,se);%fillanyholes,sothatregionpropscanbeusedtoes
3、timate%theareaenclosedbyeachoftheboundariesbw=imfill(bw,'holes');figure,imshow(bw)ed=edge(bw);figure,imshow(ed)%%%%%以上是圖像二值化上面制作二值化圖像L=bwlabel(bw);L1=bwlabel(ed);Ar=zeros(1,max(L(:)));perimeter=zeros(1,max(L1(:)));metric=zeros(1,max(L1(:)));Pwl=zeros(1,max(L1(:)));Pr=zeros(1,max(L
4、1(:)));fori=1:max(L(:))Ar(i)=sum(bw(L==i));3計算連通域的面積、周長、圓形度、矩形度以及長寬比perimeter(i)=sum(ed(L==i));metric(i)=4*pi*Ar(i)/perimeter(i)^2;[y,x]=find(L==i);x0=min(x(:));x1=max(x(:));y0=min(y(:));y1=max(y(:));holdonrectangle('Position',[x0,y0,x1-x0,y1-y0],'edgeColor','g','LineWidth',1)ifx1
5、-x0>=y1-y0Pwl(i)=(x1-x0)/(y1-y0);elsePwl(i)=(y1-y0)/(x1-x0);endPr(i)=Ar(i)/((y1-y0)*(x1-x0));endArperimetermetricPwlPrclear,clcRGB=imread('D:360°2è??ˉàà?÷????tupian1.png');I=rgb2gray(RGB);threshold=graythresh(I);bw=im2bw(I,threshold);bw=bwareaopen(bw,30);se=strel('disk',2);bw=i
6、mclose(bw,se);bw=imfill(bw,'holes');ed=edge(bw);L=bwlabel(bw);L1=bwlabel(ed);perimeter=zeros(1,max(L1(:)));fori=1:max(L(:))perimeter(i)=sum(ed(L==i));[y,x]=find(L==i);x0=min(x(:));4計算連通域的面積、周長、圓形度、矩形度以及長寬比x1=max(x(:));y0=min(y(:));y1=max(y(:));holdonrectangle('Position',[x0,y0,x1-
7、x0,y1-y0],'edgeColor','g','LineWidth',1)endperimeter5