MATLAB特征提取代码

MATLAB特征提取代码

ID:39466085

大小:30.00 KB

页数:3页

时间:2019-07-04

MATLAB特征提取代码_第1页
MATLAB特征提取代码_第2页
MATLAB特征提取代码_第3页
资源描述:

《MATLAB特征提取代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB特征提取代码fori=1:26   f=strcat('D:bishe',num2str(i));   image=strcat(f,'.jpg');   PS=imread(image);   PS=imresize(PS,[300,300],'bilinear');%归一化大小   PS=rgb2gray(PS);   [m,n]=size(PS);                      %测量图像尺寸参数   GP=zeros(1,256);                    %预创建存放灰度出现概率的

2、向量   fork=0:255       GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置   end%直方图均衡化   S1=zeros(1,256);  fori=1:256      forj=1:i          S1(i)=GP(j)+S1(i);             %计算Sk      end  end  S2=round((S1*256)+0.5);              %将Sk归到相近级的灰度%图像均衡化  f=PS;  fori

3、=0:255      f(find(PS==i))=S2(i+1);        %将各个像素归一化后的灰度值赋给这个像素  end  figure,imshow(f);%边缘检测  f=edge(f,'canny',0.25);  imshow(f);%二值法锐化图像  f=double(f);  [x,y]=gradient(f);  g=sqrt(x.*x+y.*y);  i=find(g>=0.5);  g(i)=256;  j=find(g<0.5);  g(j)=0;  imshow(g);  title('二值法锐

4、化图像');%中值滤波g=medfilt2(g);g=dither(g);imshow(g);%提取面积,矩形度,圆形度,拉伸度特征  %g=im2bw(g);  [x,y]=size(g);  BW=bwperim(g,8);%检测边缘跟踪,用于计算周长%检测垂直方向连读的周长像素点%  P1=0;  P2=0;  Ny=0;%记录垂直方向连续周长像素点的个数  fori=1:x     forj=1:y         if(BW(i,j)>0)             P2=j;             if((P2-P1)=

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

6、                  Nx=Nx+1;             end             P1=P2;          end      end  end  SN=sum(sum(BW));%计算周长像素点的总数  Nd=SN-Nx-Ny;%计算奇数码的链码数目  H=max(sum(g));%计算目标的高度  W=max(sum(g'));%图象g经矩阵转置后,计算宽度  L=sqrt(2)*Nd+Nx+Ny;%计算周长%====形态特征值计算===%  A=bwarea(g);%计算目标的面积  R=A/(

7、H*W);%计算矩形度  E=min(H,W)/max(H,W);%计算伸长度  temp1=[A,R,E];%提取不变矩特征  [M,N]=size(g);  [x,y]=meshgrid(1:N,1:M);  x=x(:);  y=y(:);  g=g(:);  m.m00=sum(g);  if(m.m00==0)     m.m00=eps;  end  m.m10=sum(x.*g);  m.m01=sum(y.*g);  m.m11=sum(x.*y.*g);  m.m20=sum(x.^2.*g);  m.m02=su

8、m(y.^2.*g);  m.m30=sum(x.^3.*g);  m.m03=sum(y.^3.*g);  m.m12=sum(x.*y.^2.*g);  m.m21=sum(x.^2.*y.*g);  xbar=m.m10/m.m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。