%(1)待测样品X与训练集里每个样品X的距离为d
%(2)循环计算待测样品和训练集中各个样品样品之间的距离,找出距离待测样品最近的已经样品,该已经样品的类别就是待测样品的类别。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%函数名称:neartemplet()%参数:sample:待识别样品特征 %识别的是什么特征呢?
%返回值:y:待识别样品所属类别 %产生的是什么数字呢
%函数功能:按照模板匹配法计算待测样品与样品库中的样品相似度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y = neartemplet(sample)
clc;
load templet pattern;%加载样品库
d = 0;
min = [inf, 0 ];
for i = 1:10
for j = 1:pattern(i).num
%计算待测样品与样品库样品间的最小距离
d = sqrt(sum((pattern(i).featrue(:,j)-sample').^2));
%求最小距离与样本库及类号
if min(1) > d
min(1) = d;
min(2) = i-1;
end
end
end
%输出类别
y = min(2);