📄 fourier_discreptor.m
字号:
clear;
clc;
close all;
% read a file contents curve data
[filename, pathname] = uigetfile({'*.c', 'All c-Files (*.c)'; '*.dat', 'All tif-Files (*.dat)';'*.*','All Files (*.*)'},'Select a curve');
% If "Cancel" then return
if isequal([filename,pathname],[0,0])
return
end
File = fullfile(pathname,filename);
strImage=strcat(pathname,filename);
sfz_x =fd_function(strImage);%选取一幅图像作为标准形状
% 调用子函数得到各个图像形状描述的特征矢量
f1='E:\学习工具\数字图像处理\12.5作业\shape_analysis\kk99.c';
sfz(1,:) =fd_function(f1);
f2='E:\学习工具\数字图像处理\12.5作业\shape_analysis\kk353.c';
sfz(2,:) =fd_function(f2);
f3='E:\学习工具\数字图像处理\12.5作业\shape_analysis\kk354.c';
sfz(3,:) =fd_function(f3);
f4='E:\学习工具\数字图像处理\12.5作业\shape_analysis\kk395.c';
sfz(4,:) =fd_function(f4);
f5='E:\学习工具\数字图像处理\12.5作业\shape_analysis\kk396.c';
sfz(5,:) =fd_function(f5);
f6='E:\学习工具\数字图像处理\12.5作业\shape_analysis\kk1063.c';
sfz(6,:) =fd_function(f6);
% 与所选的标准矢量作距离差
d=zeros(1,6);
d(1)=sum(abs(sfz_x-sfz(1,:)));
d(2)=sum(abs(sfz_x-sfz(2,:)));
d(3)=sum(abs(sfz_x-sfz(3,:)));
d(4)=sum(abs(sfz_x-sfz(4,:)));
d(5)=sum(abs(sfz_x-sfz(5,:)));
d(6)=sum(abs(sfz_x-sfz(6,:)));
%对距离排序,取出最小值
k=sort(d);
mind=k(2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -