骨架曲线MATLAB程序.txt资料文档下载
《骨架曲线MATLAB程序.txt资料文档下载》由会员分享,可在线阅读,更多相关《骨架曲线MATLAB程序.txt资料文档下载(3页珍藏版)》请在冰豆网上搜索。
![骨架曲线MATLAB程序.txt资料文档下载](https://file1.bdocx.com/fileroot1/2022-11/2/19cb9b33-cf85-4c32-8598-d771fab6ec75/19cb9b33-cf85-4c32-8598-d771fab6ec751.gif)
FrameCurve.txt'
'
wt'
);
%%��������ļ�FrameCurve.txt������д��Ǽ����ߵ�[0,0]��Ӧ��������
coordinate=[0.00.0];
dlmwrite('
coordinate,'
delimiter'
\t'
newline'
pc'
precision'
%.2f'
)
sta=fclose(fid);
outdata=load('
jgz3.txt'
%%��ȡ�ļ����ݣ�Ĭ����Ϊ<
<
λ�ƣ�����>
��outdata����,
LineNum=size(outdata,1);
EndCircle=1;
%--------------------�Ҹ���ѭ���ָ��λ��----------------------��->
��or��->
��
fori=3:
LineNum
if(outdata(i,1)*outdata(i-1,1)<
=0)&
&
(outdata(i-1,1)<
0);
%--Ĭ�ϳ�ʼ���ش������ܿ�ʼ
EndCirclePoints(EndCircle)=i;
%�ָ����к�EndCirclePoints
EndCircle=EndCircle+1;
%�м�ָ�����ΪEndCircle-1
end;
%--------------------�������Ƿ���ڲ������ͻػ�----------------------
ifEndCirclePoints(EndCircle-1)<
LoopNum=length(EndCirclePoints)+1;
%LoopNum��Ϊ����ѭ���ĸ�����Ӧ�������һ��������ѭ��
else
LoopNum=length(EndCirclePoints);
%-------------------------�ָ�����ͻػ�---------------------------
fork=1:
LoopNum
ifk==1
LoopCircles(k)={outdata(1:
EndCirclePoints(k),:
)};
elseifk<
LoopCircles(k)={outdata(EndCirclePoints(k-1):
LineNum,:
%���������У����һ��Ӧ���������ڰ��ܡ���������
%--------------------��ȡ�����ͻػ����عǼ����ߵ㣬�����ھ���FramePointsPostive��FramePointsNegative��-----------------------------
A=LoopCircles{k};
ifk<
[ColMaxValue,LineMax]=max(A);
%��ȡ�������ֵ�����к�LineMax��1*n��������ColMaxValueΪ���е����ֵ��1*n��������nΪA������
[ColMinValue,LineMin]=min(A);
%��ȡ������Сֵ�����к�LineMin
FramePointMax=A(LineMax
(2),:
%��2��������
FramePointMin=A(LineMin
(2),:
FramePointsPostive(k,:
)=FramePointMax;
%�Ǽ����ߵ㴢���ھ���FramePoints��
FramePointsNegative(k,:
)=FramePointMin;
%-------------------�������һ���������ܣ����ڰ��ܣ����Ƕ��ڰ���---------------
ifEndCirclePoints(EndCircle-1)==LineNum%������----------------------------------------------------------------------
elseifoutdata(LineNum,1)>
=0%�������ܣ���һ�����ֵ----------------------------------------------------
%��ȡ���ֵ�к�LineMax
else%�и����ܣ������ֵ����Сֵ----------------------------------------------------
%��ȡ��Сֵ�к�LineMin
%---------------------------------------�Ƚ����λ�ƣ�ɾ���Ǽ�������ͬһ���ؼ��Ľ�С�Ǽܵ�---------------------------------------------------
fork=LoopNum:
-1:
2
B=LoopCircles{k-1};
[ColMaxValueA,LineMaxA]=max(A);
[ColMinValueA,LineMinA]=min(A);
[ColMaxValueB,LineMaxB]=max(B);
[ColMinValueB,LineMinB]=min(B);
ifabs(ColMaxValueA
(1)-ColMaxValueB
(1))<
4;
%�ж�Ϊͬһ���ؼ����ݲ�ȡΪ4mm
ifColMaxValueA
(2)<
ColMaxValueB
(2);
%�Ƚ�������ֵ����С��ɾȥ
)=[];
FramePointsPostive(k-1,:
ifabs(ColMinValueA
(1)-ColMinValueB
(1))<
ifColMinValueA
(2)<
ColMinValueB
(2);
%�Ƚ���С����ֵ����С��ɾȥ
FramePointsNegative(k-1,:
FramePointsPostive,'
-append'
FramePointsNegative,'