open3d之KDTree和文件I/O有关函数(笔记4)

KDTree

Open3D 使用 FLANN 构建 KDTrees 以快速检索最近的邻居。

class open3d.data.PCDPointCloud

介绍:

PCDPointCloud的数据类包含来自Redwood Living Room数据集的 fragment.pcd 点云网格

方法:

__init__(self: open3d.cpu.pybind.data.PCDPointClouddata_root: str = '') → None

属性:

data_root获取数据根目录。数据根在构建时设置或自动确定

download_dir获取下载目录的绝对路径

extract_dir获取解压目录的绝对路径

pathpcd 格式点云的路径

prefix获取数据集的前缀

class open3d.geometry.KDTreeFlann

介绍:

使用 FLANN 构建 KDTrees 以快速检索最近的邻居

方法:

__init__(*args, **kwargs)重载功能

1. __init__(self: open3d.geometry.KDTreeFlann) -> None

2.__init__(self:open3d.geometry.KDTreeFlann,data:numpy.ndarray[numpy.float64[m, n]]) -> None

3.__init__(self:open3d.geometry.KDTreeFlann,geometry:open3d.cpu.pybind.geometry.Geometry) -> None

4.__init__(self:open3d.geometry.KDTreeFlann,feature:open3d::pipelines::registration::Feature) -> None

search_hybrid_vector_3d(self, query, radius, max_nn)->Tuple[int,open3d.utility.IntVector,open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[3, 1]]) :输入查询点

   radius (float) :搜索半径

   max_nn (int):最多将搜索 max_nn个近邻

search_hybrid_vector_xd(self, query, radius, max_nn)->Tuple[int,open3d.utility.IntVector,open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[m, 1]]):输入查询点

   radius (float) :搜索半径

   max_nn (int):最多将搜索 max_nn个近邻

search_knn_vector_3d(self, query, knn)->Tuple[int,open3d.utility.IntVector, open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[3, 1]]):输入查询点

   knn (int):knn 邻居将被搜索

search_knn_vector_xd(self, query, knn)->Tuple[int,open3d.utility.IntVector, open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[m, 1]]):输入查询点

   knn (int):将搜索 knn 邻居

search_radius_vector_3d(self, query, radius)->Tuple[int,open3d.utility.IntVector, open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[3, 1]]):输入查询点

   radius (float):搜索半径

search_radius_vector_xd(self, query, radius)->Tuple[int,open3d.utility.IntVector, open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[m, 1]]):输入查询点

   radius (float):搜索半径

search_vector_3d(self, query, search_param)->Tuple[int,open3d.utility.IntVector, open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[3, 1]]):输入查询点

   search_param (open3d.geometry.KDTreeSearchParam

search_vector_xd(self, query, search_param)->Tuple[int,open3d.utility.IntVector, open3d.utility.DoubleVector]

   query (numpy.ndarray[numpy.float64[m, 1]]):输入查询点

   search_param (open3d.geometry.KDTreeSearchParam

set_feature(self, feature)-> bool从特征数据中设置 KDTree 的数据。

   feature (open3d.pipelines.registration.Feature):特征数据

set_geometry(selfgeometry)->bool从geometry中设KDTree 的数据

   geometry (open3d.geometry.Geometry)

set_matrix_data(selfdata)->bool从矩阵中设置 KDTree 的数据

   data (numpy.ndarray[numpy.float64[m, n]]):矩阵数据

属性:


 文件I/O

open3d.io

write_point_cloud(filename, pointcloud, write_ascii=False, compressed=False, 

print_progress=False)

函数功能:

将 PointCloud 写入文件的函数

参数:

filename (str)文件路径

pointcloud (open3d.geometry.PointCloud)用于 I/O 的 PointCloud 对象

write_ascii (bool, optional, default=False)设置为 True 以 ascii 格式输出,否则将使用二进制格式

compressed (bool, optional, default=False)设置为 True 以压缩格式写入

print_progress (bool, optional, default=False)如果设置为 true,则会在控制台中显示进度条

返回:

bool

 默认情况下,Open3D尝试通过文件扩展名推断文件类型。也可以显示指定文件类型,在这种情况下,文件扩展名将被忽略。

open3d.io

write_triangle_mesh(filenamemeshwrite_ascii=Falsecompressed=False

write_vertex_normals=Truewrite_vertex_colors=Truewrite_triangle_uvs=True

print_progress=False)

函数功能:

将 TriangleMesh 写入文件的函数

参数:

filename (str)文件路径

mesh (open3d.geometry.TriangleMesh)用于I/O的 TriangleMesh 对

write_ascii (bool, optional, default=False)设置为 True 以 ascii 格式输出,否则将使用二进制格式

compressed (bool, optional, default=False)设置为 True 以压缩格式写入

write_vertex_normals (bool, optional, default=True)设置为 False 不写入任何顶点法线,即使存在于网格上

write_vertex_colors (bool, optional, default=True)设置为 False 不写入任何顶点颜色,即使存在于网格上

write_triangle_uvs (bool, optional, default=True)设置为 False 以不写入任何三角形 uvs,即使存在于网格上。对于obj格式,mtl文件只有在设置True时才会保存

print_progress (bool, optional, default=False)如果设置为 true,则会在控制台中显示进度条

返回:

bool

与点云数据结构相比,网格具有定义 3D 表面的三角形。

默认情况下,Open3D 尝试通过文件扩展名推断文件类型。支持以下网格文件类型:ply、stl、obj、off、gltf/glb。

open3d.io

write_image(filename, image, quality=- 1)

函数功能:

将图像写入文件的函数

参数:

filename (str)文件路径

image (open3d.geometry.Image)用于I/O 的 Image 对象

quality (int, optional, default=-1)输出文件的质量

返回:

bool

 使用 print(img) 可以轻松显示图像的大小。支持 jpg 和 png 图像文件。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值