open3d.geometry.KDTreeSearchParamHybrid.radius
是一个类,用于设置允许找到的最近邻点的最大距离限制,以确定查询点周围的点。
radius
(float):搜索半径,表示可能的最近邻距离的长度。默认值为0.0。
max_nn
(int):从最近的最大邻居数量中选择。默认值为0,表示无限制。
sorted
(bool):如果为true,则按照从近到远的顺序返回最近邻点。默认为false。
下面的代码段说明了如何使用open3d.geometry.KDTreeSearchParamHybrid.radius
类。
import open3d as o3d
import numpy as np
# 创建点云对象
pcd = o3d.io.read_point_cloud("pointcloud.ply")
# 创建 KDTree,
tree = o3d.geometry.KDTreeFlann(pcd)
# 定义半径搜索参数
search_param = o3d.geometry.KDTreeSearchParamHybrid(radius=0.1, max_nn=30, sorted=True)
# 假设我们要查询点集的索引为 100
[pidx, dist] = tree.search_radius_vector_3d(pcd.points[100], search_param)
# 输出半径内的点集索引以及距离。
print(pidx, dist)
在这个例子中,我们使用open3d.geometry.KDTreeSearchParamHybrid.radius
类来定义搜索半径,并使用search_radius_vector_3d
方法搜索在索引100周围0.1单位内的最多30个点。最终输出的是距离和点集的索引。
Open3D官方文档:open3d.geometry.KDTreeSearchParamHybrid