OPEN CV c ++ person Recognition K-nn

时间:2016-12-13 15:45:46

标签: c++ image opencv distance knn

我正在尝试使用k-NN算法编写一个简单的人识别程序。我认为这个问题很经典,但我需要一些帮助。 k-NN分类器需要计算一些距离,所以我的问题是,如何比较,或如何计算2个图像之间的距离?(我提到我必须使用L2范数作为度量距离) 谢谢!

1 个答案:

答案 0 :(得分:0)

所以,k-NN的工作方式就像你首先需要的功能一样。例如,如果您有一个图像的n个特征,那么您将从这些特征中创建一个n维向量。就像是: F(x1,x2,x3,x4,...... xn),其中x1,x2,x3 ...... xn是特征的值。 现在,如果计算特征,将它们转换为矢量形式,则可以使用图标距离公式简单地计算这些矢量之间的距离。一旦你计算/存储列表/数组中的所有距离,你就对它进行排序,并取出具有最低距离的k个顶部值,这些将是你计算的k个最近邻居。 再一次,特征提取是您正在寻找的东西。