cv :: flann :: knnSearch返回的距离单位是多少?

时间:2014-06-19 10:55:53

标签: c++ opencv knn flann

我正在搜索k n SURF描述符的最近邻居。我通过在描述符矩阵上创建cv::flann::index对象来计算最近邻居。

cv::flann::Index index(desc,cv::flann::KDTreeIndexParams(4));//cv::Mat desc: holds all the descriptors

index.knnSearch(centralDescriptor,indicesNN,distsNN,10);

在此之后,我必须比较每个最近邻居的返回距离和中心特征点的大小。现在的问题是中心特征点的大小存储在其对应的cv::KeyPoint中,cv::KeyPoint::size的单位是像素,其中距离都是浮点数并且小于零。

问题:如何将cv::flann::knnSearch返回的距离转换为像素或将cv::KeyPoint::size转换为距离单位?

我很抱歉问题写得不好,我的英语不是很好。

1 个答案:

答案 0 :(得分:0)

你做不到。

cv :: flann :: knnSearch返回SURF空间中的距离,换句话说,它是图像块之间的相似性(即,这个角看起来更像这个角,而不是这个blob)。关键点之间的距离只是像素距离(就像显示器上的使用标尺 - 以英寸为单位的距离)。