我不确定这是否属于适当问题的标准,但我仍然想试一试。
我正在寻找一个库或函数,它以 [number_of_keypoints][feature_0...feature_127] 的文件(或矩阵)的形式采用两个 SIFT 描述符 - 这意味着每个文件有 128 个特征并允许比较图像(我正在使用harris-affine alg. 提取它们:http ://www.robots.ox.ac.uk/~vgg/research/affine/det_eval_files/extract_features2.tar.gz )。
我对一种允许我找到相互最近的邻居的方法感兴趣,该方法将接受邻域中的关键点数量和成功率。
例如,假设我有两个带有关键点的文件(由 SIFT 描述符描述)(image_1.sift,image_2.sift)。我希望接受的方法:邻域中的关键点数,匹配率,其中匹配率在伪代码中表示:
For each keypoint in image_1
Pick 50 nearest neighbours from image_1 -> List<KeyPoints> neighbours_1
For each keypoint in image_2
Pick 50 nearest neighbours from image_2 -> List<KeyPoints> neighbours_2
int numberOfMatches = 0;
foreach(neighbour in neighbours_1)
{
if(neighbour == neighbours_2.Find(neighbour))
numberOfMatches++;
}
该比率是匹配的数量与考虑的关键点数量。例如 FindMutualKeypoints(image_1, image_2, 50, 0.7)
它可以是 c#、java、python 或 matlab 实现。我与定期图像分析没有太多关系,在我开始编写自己的实现之前,我认为可能已经有一个。我在从母语翻译中找到正确的英语术语时遇到问题(看起来术语完全不同),这可能是我找不到它的原因。