如何测量2幅图像之间的余弦相似度

时间:2014-03-16 03:40:21

标签: matlab similarity image-recognition

我有一个包含5个图像的人口矩阵,其中有49个提取的显着特征。 我想在具有相同提取特征的测试图像之间计算Matlab中的余弦相似性。

2 个答案:

答案 0 :(得分:8)

您可以使用matlab的内置函数来获得余弦距离:

pdist([u;v],'cosine')

返回"一个减去点和#34;之间夹角的余弦。然后,您可以从一个中减去答案,以获得所包含角度的'余弦。 (相似性),像这样:

1 - pdist([u;v],'cosine')

Source: Pairwise distance between pairs of objects.

答案 1 :(得分:6)

1)在矢量M * N行中变换大小为M行X N列的图像。将一个图像保存在矢量u中,另一个图像保存在矢量v。

2)评估:cosTheta = dot(u,v)/(norm(u)* norm(v)); [据我所知,matlab中没有这样做的功能]

通常人们使用它们在特征脸上的投影来评估图像之间的相似性。因此,在此之前,人们通常会评估特征脸。