matlab出现红色括号,想让大家看下标红地方为什么说有括号问题
MATLAB特征提取代碼
for i=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); %測量圖像尺寸參數(shù)
GP=zeros(1,256); %預(yù)創(chuàng)建存放灰度出現(xiàn)概率的向量
for k=0:255
GP(k+1)=length(find(PS==k))/(m*n); %計算每級灰度出現(xiàn)的概率,將其存入GP中相應(yīng)位置
end
%直方圖均衡化
S1=zeros(1,256);??for i=1:256??for j=1:i
S1(i)=GP(j)+S1(i); %計算Sk
end??end
S2=round((S1*256)+0.5); %將Sk歸到相近級的灰度 %圖像均衡化
f=PS;
for i=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('二值法銳化圖像'); %中值濾波 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; % 記錄垂直方向連續(xù)周長像素點的個數(shù)
for i=1:x??for j=1:y
if (BW(i,j)>0)??P2=j;
if ((P2-P1)==1) % 判斷是否為垂直方向連續(xù)的周長像素點??Ny=Ny+1;??end??P1=P2;??end??end??end
%檢測水平方向連讀的周長像素點
P1=0;??P2=0;
Nx=0; % 記錄水平方向連續(xù)周長像素點的個數(shù)
for j=1:y??for i=1:x
if (BW(i,j)>0)??P2=i;
if ((P2-P1)==1) % 判斷是否為水平方向連續(xù)的周長像素點??Nx=Nx+1;??end??P1=P2;??end??end??end
SN=sum(sum(BW)); % 計算周長像素點的總數(shù)??Nd=SN-Nx-Ny; % 計算奇數(shù)碼的鏈碼數(shù)目??H=max(sum(g)); % 計算目標的高度
W=max(sum(g')); % 圖象g經(jīng)矩陣轉(zhuǎn)置后,計算寬度??L=sqrt(2)*Nd+Nx+Ny; % 計算周長 %====形態(tài)特征值計算===%??A=bwarea(g); % 計算目標的面積??R=A/(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=sum(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.m00;??ybar=m.m01/m.m00;
e.eta11=(m.m11-ybar*m.m10)/m.m00^2;??e.eta20=(m.m20-xbar*m.m10)/m.m00^2;??e.eta02=(m.m02-ybar*m.m01)/m.m00^2;
e.eta30=(m.m30-3*xbar*m.m20+2*xbar^2*m.m10)/m.m00^2.5;??e.eta03=(m.m03-3*ybar*m.m02+2*ybar^2*m.m01)/m.m00^2.5;
e.eta21=(m.m21-2*xbar*m.m11-ybar*m.m20+2*xbar^2*m.m01)/m.m00^2.5;??e.eta12=(m.m12-2*ybar*m.m11-xbar*m.m02+2*ybar^2*m.m10)/m.m00^2.5;??phi(1)=e.eta20+e.eta02;
phi(2)=(e.eta20-e.eta02)^2+4*e.eta11^2;
phi(3)=(e.eta30-3*e.eta12)^2+(3*e.eta21-e.eta03)^2;??phi(4)=(e.eta30+e.eta12)^2+(e.eta21+e.eta03)^2;
phi(5)=(e.eta30-3*e.eta12)*(e.eta30+e.eta12)*((e.eta30+e.eta12)^2-3*(e.eta21+e.eta03)^2+(3*e.eta21-e.eta03)*
(e.eta21+e.eta03)*(3*(e.eta30+e.eta12)^2-(e.eta21+e.eta03)^2));
phi(6)=(e.eta20-e.eta02)*((e.eta30+e.eta12)^2-(e.eta21+e.eta03)^2)+4*e.eta11*(e.eta30+e.eta12)*(e.eta21+e.eta03);
phi(7)=(3*e.eta21-e.eta03)*(e.eta30+e.eta12)*((e.eta30+e.eta12)^2-3*(e.eta21+e.eta03)^2)+(3*e.eta12-e.eta30)*
(e.eta21+e.eta03)*(3*(e.eta30+e.eta12)^2-(e.eta21+e.eta03)^2);??temp2 = abs(log(phi));%包含七個特征值
temp=[temp1,temp2] end
總結(jié)
以上是生活随笔為你收集整理的matlab出现红色括号,想让大家看下标红地方为什么说有括号问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地线与接地螺丝_电气接地的规范要求及接地
- 下一篇: 判断文件是否改变php,PHP判断文件是