1
我正試圖在OpenCV中實現Flann索引。讓我告訴我的實施一步一步:沒有來源可用於cv :: flann :: Index :: knnSearch()
1)我從圖像提取SURF功能,並連接所有。然後保存描述符和flann索引,如下所示:
FileStorage fs("descriptors.yml", FileStorage::WRITE);
write(fs, "descriptors", descriptors);
flann_index_saved.save("tmp_twitter.fln");
2)我從查詢圖像中提取SURF特徵。
3)I加載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 +。
請幫我...
我認爲這是錯誤的Eclipse告訴你它找不到用於調試的源文件(例如,如果您正在逐步執行該程序)。這是因爲你只有OpenCV庫,而不是源代碼(或者至少在Eclipse中沒有引用它)。它與你寫的實際代碼無關。問題可能在於如何使用索引 - 是否還有其他錯誤消息?它在什麼時候實際上失敗了? – Karnivaurus
感謝您的回覆。但正如我之前提到的,當我運行代碼時,沒有任何反應。你有什麼想法嗎? –