我正在尝试在 OpenCV 中实现 Flann 索引。让我一步一步地讲述我的实现:
1)我从图像中提取了 SURF 特征并将所有特征连接起来。然后像这样保存描述符和 flann 索引:
FileStorage fs("descriptors.yml", FileStorage::WRITE);
write(fs, "descriptors", descriptors);
flann_index_saved.save("tmp_twitter.fln");
2)我从查询图像中提取了 SURF 特征。
3)我像这样加载了 flann 索引:
FileStorage fsRead(yamlFile, FileStorage::READ);
Mat indexMat(Size(64, sampleSize), CV_32FC1);
fsRead["descriptors"] >> indexMat;
Index flann_index_loaded;
flann_index_loaded.load(indexMat, indexFilePath);
4)为了匹配,我使用了knnSearch:
Mat queryDesc, indicesResult, distsResults;
fIndex.knnSearch(queryDesc, indicesResult, distsResults, 1);
但什么也没有发生。只有“没有可用于...的源”异常发生。我想我无法在 OpenCV 中实现 Flann。
我正在使用 Ubuntu 12.04、OpenCV 2.4.10、Eclipse CDT+。
请帮我...