我有一些問題OpenCV的FLANN ::首頁 -如何使用opencv flann :: Index?
我創建索引
Mat samples = Mat::zeros(vfv_net_quie.size(),24,CV_32F);
for (int i =0; i < vfv_net_quie.size();i++)
{
for (int j = 0;j<24;j++)
{
samples.at<float>(i,j)=(float)vfv_net_quie[i].vfv[j];
}
}
cv::flann::Index flann_index(
samples,
cv::flann::KDTreeIndexParams(4),
cvflann::FLANN_DIST_EUCLIDEAN
);
flann_index.save("c:\\index.fln");
,我試着加載它,並找到最近的neiborhoods
cv::flann::Index flann_index(Mat(),
cv::flann::SavedIndexParams("c:\\index.fln"),
cvflann::FLANN_DIST_EUCLIDEAN
);
cv::Mat resps(vfv_reg_quie.size(), K, CV_32F);
cv::Mat nresps(vfv_reg_quie.size(), K, CV_32S);
cv::Mat dists(vfv_reg_quie.size(), K, CV_32F);
flann_index.knnSearch(sample,nresps,dists,K,cv::flann::SearchParams(64));
一壓腳提升並在行miniflann.cpp中有訪問衝突
((IndexType*)index)->knnSearch(_query, _indices, _dists, knn,
(const ::cvflann::SearchParams&)get_params(params));
P1簡化幫助
需要注意的一點是,您需要提供實際的原始數據集,而不僅僅是具有正確尺寸的Mat。 OpenCV文檔中並不十分清楚,但在[flann文檔]的第3.3.4節中提到(http://www.cs.ubc.ca/~mariusm/uploads/FLANN/flann_manual-1.6.pdf) – Sau 2013-04-11 19:41:56
@Sau不是第3.3.4節討論Matlab而不是C++?你有沒有在OpenCV或Flann的C++版本中驗證你的評論? – t2k32316 2015-03-11 04:00:12