nanoflann使用中遇到的坑

记录使用nanoflann时候的坑

nanoflann库的中文博客介绍 nanoflann中文博客:

nanoflann库的英文介绍 nanoflann的github:

对nanoflann的使用评价

优点

  1. 及其轻量化: ,只用将极少代码问价copy到现有项目中即可实现KNN搜索;
  2. 简单易学: github上贴心的提供了实例代码,轻松上手;
  3. **功能强大:**实现多个空间的近邻搜索,对L1,L2,SO2和SO3空间进行距离度量 ;

缺点

  1. 实例代码容易引起歧义: 没有对输入和输出参数的具体描述,很容易引起歧义;

遇到的坑

github实例代码中的实例:

// pointcloud_kdd_radius.cpp
{
		const num_t search_radius = static_cast<num_t>(0.1);
		std::vector<std::pair<size_t,num_t> >   ret_matches;

		nanoflann::SearchParams params;
		//params.sorted = false;

		const size_t nMatches = index.radiusSearch(&query_pt[0], search_radius, ret_matches, params);

		cout << "radiusSearch(): radius=" << search_radius << " -> " << nMatches << " matches\n";
		for (size_t i = 0; i < nMatches; i++)
			cout << "idx["<< i << "]=" << ret_matches[i].first << " dist["<< i << "]=" << ret_matches[i].second << endl;
		cout << "\n";
}

search_radius使用时输入是搜索半径的平方,即

// pointcloud_kdd_radius.cpp
{
		const num_t search_radius = static_cast<num_t>(0.1);
}

search_radius代表的搜索半径是0.3米。
专门可视化逐行找错误,白白浪费一下午时间,特此记录。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值