小编Car*_*arl的帖子

opencv中的FLANN运行速度太慢

我有一套点cloub(点数cl≈2百万).我想找到点cloub内每个点最近的k邻居.我做了这样的事

flann::Index flann_index(data_m, flann::KDTreeIndexParams(),cvflann::FLANN_DIST_EUCLIDEAN);// create the object of flann
    for (int i = 0; i < numberOfPointsInPointCloub; i++){
    flann_index.knnSearch(data_m.row(i), indices, dists,num_of_knn); //each row is a new set of point in 3D
    ..//save the results "dist" and "indices" in somewhere else
}
Run Code Online (Sandbox Code Playgroud)

但这很慢.在for循环中,它运行1000次,持续20秒,这非常慢.我错误地使用它了吗?或者有什么方法可以加快速度吗?

更新:我需要搜索的查询点正是用于构造树的点,我需要为树中的每个点找到最近的k邻居,因此我从数据的每一行中取出点并执行knnSearch.

opencv flann

1
推荐指数
1
解决办法
1846
查看次数

标签 统计

flann ×1

opencv ×1