⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 求周长.txt

📁 2008年度全国数学建模竞赛用程序
💻 TXT
字号:
%形态学分析
function [L,A,C,R,E]=xintai(I)
% 注意必须保证二值图像中,目标区域为白色区域或者像素点值为“1”

I=im2bw(I);
[x,y]=size(I);
BW = bwperim(I,8); % 检测目标的边缘跟踪,用于计算周长 

%检测垂直方向连读的周长像素点%
P1=0;
P2=0;
Ny=0; % 记录垂直方向连续周长像素点的个数
for i=1:x
   for j=1:y
     if (BW(i,j)>0)
       P2=j;
       if ((P2-P1)==1) % 判断是否为垂直方向连续的周长像素点
       Ny=Ny+1;
       end
     P1=P2;
     end
    end
end

%检测水平方向连读的周长像素点%
P1=0;
P2=0;
Nx=0; % 记录水平方向连续周长像素点的个数
for j=1:y
    for i=1:x
       if (BW(i,j)>0)
          P2=i;
         if ((P2-P1)==1) % 判断是否为水平方向连续的周长像素点
            Nx=Nx+1;
         end
         P1=P2;
       end
     end
end 

SN=sum(sum(BW)); % 计算周长像素点的总数
Nd=SN-Nx-Ny; % 计算奇数码的链码数目

H=max(sum(I)); % 计算目标的高度 
W=max(sum(I')); % 图象I经矩阵转置后,计算宽度
L=sqrt(2)*Nd+Nx+Ny; % 计算周长

%====形态特征值计算===%
A=bwarea(I); % 计算目标的面积
%L1=zhch(I);
C=(L*L)/(4*pi*A); % 计算圆度
R=A/(H*W); % 计算矩形度
E=min(H,W)/max(H,W); % 计算伸长度
% L为周长,A为面积,C为圆形度,R为矩形度,E为伸长度 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -