Matlab LP_distance算法实现

function similarity_result = LP_distance(descriptor,tem)
% 此函数通过描述符计算图像之间的相似性
% 用Lp距离表示,也就是范数

       % 计算出存储相似性结果的矩阵形式:1*n 的 matrix
       % n是图片或者说特征的个数
       similarity_result = tem * descriptor;
       
       for i = 1:size(descriptor,2)
   
           % 用Lp distance的方法
           
           % 提取每一列的特征
           one_img = descriptor(:,i);

           one_img = one_img';
           
           % 与template标准特征进行比较,求出L1范数
           similarity_result(i) = norm((one_img - tem),1) ;

       end
       
       similarity_result = similarity_result / max(similarity_result);

end

Lp距离也是一种可以用来衡量图片之间相似性的方法,此处我们将Lp用于L1范数,用来衡量图片之间的相似性。

代码如上图所示,看不懂的同学需要先去理解L1范数的概念。

你可能感兴趣的:(Matlab)