vtk搜索最近点算法性能比较

文章分析了在vtk库中,不同点云处理算法(如vtkPointLocator、vtkStaticPointLocator、vtkKdTreePointLocator和vtkOctreePointLocator)在查找最近点、最近N个点及指定半径内最近点任务中的性能对比,结果显示vtkStaticPointLocator在大多数情况下表现最优。
摘要由CSDN通过智能技术生成

图形处理中,从点云中查找指定位置的最近点是一个经常使用的操作。vtk中提供了不同的算法实现,作为使用者,面临怎么选择的问题。vtk测试代码里面提供了一个最近点(Closest point)搜索性能比较代码 TimePointLocators.cxx

这个测试代码的功能是用两组随机点,以一组点为目标,从另外一组点中搜索最近点、最近N个点、指定半径范围内最近点,计算任务耗时。代码分别使用了vtkPointLocator、vtkStaticPointLocator、vtkKdTreePointLocator、vtkOctreePointLocator。

同样任务耗时:vtkStaticPointLocator明显优于其他几种。其他几个Locator再不同任务中排序有变化。

这是一次的运算输出,在不同计算机上测试结果基本一致。其中Uniform使用vtkPointLocator,Static使用vtkStaticPointLocator,Octree使用vtkOctreePointLocator,KD Tree使用vtkKdTreePointLocator。

Timing for 1000000 points, 100000 queries
Build and delete tree
        Uniform: 0.194
        Static: 0.0740001
        Octree: 0.14
        KD Tree: 0.239
Closest point queries
        Uniform: 0.227
        Static: 0.143
        Octree: 0.286
        KD Tree: 0.207
Closest N points queries
        Uniform: 0.821
        Static: 0.697
        Octree: 2.21
        KD Tree: 1.733
Closest points within radius queries
        Uniform: 0.137
        Static: 0.0899999
        Octree: 0.13
        KD Tree: 0.134
Total time
        Uniform: 1.379
        Static: 1.004
        Octree: 2.766
        KD Tree: 2.313

这个比较不一定说明算法本身优劣,只是体现了vtk库中算法实现的性能差异。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值