
Open3D 从 0.15.0 版本起将示例数据统一托管在 o3d.data 模块中,用户无需手动下载文件,只需调用对应数据类即可自动下载并加载本地缓存。
open3d 从 0.15.0 版本起将示例数据统一托管在 `o3d.data` 模块中,用户无需手动下载文件,只需调用对应数据类即可自动下载并加载本地缓存。
在早期版本(如 0.9.0)的文档中,教程常引用相对路径如 ../../TestData/fragment.ply,但这要求用户自行下载并放置测试数据——而该方式已完全弃用。现代 Open3D(≥0.15.0)采用声明式数据管理:所有官方测试数据(如 fragment.ply、dragon_mesh.ply、kitti/000000.bin 等)均封装为 o3d.data.* 类,首次访问时自动下载至系统缓存目录(默认为 ~/.cache/open3d/),后续复用本地副本,高效且跨平台。
✅ 正确用法(推荐,兼容 Open3D ≥0.15.0):
import open3d as o3d # 自动下载并加载 fragment.ply(若未缓存则联网获取) dataset = o3d.data.FragmentPointCloud() pcd = o3d.io.read_point_cloud(dataset.path) print(pcd) o3d.visualization.draw_geometries([pcd])
? 常用数据集类一览:
-
o3d.data.FragmentPointCloud()→fragment.ply(点云) -
o3d.data.DragonMesh()→dragon_mesh.ply(网格) -
o3d.data.PCDPointCloud()→cloud_bin_0.pcd -
o3d.data.KITTIRaw()→ KITTI 原始激光雷达序列(含多帧.bin文件)
⚠️ 注意事项:
- 请确保使用 最新版 Open3D:
pip3 install --upgrade open3d(Raspberry Pi 用户建议选用open3d-arm64或预编译 wheel); - 文档务必查阅 https://www.php.cn/link/2fcac87be864706bdc67c7eafe94b87e(注意 URL 中的
latest),旧版文档(如/0.9.0/)已过时; - 首次调用会触发下载(需网络连接),耗时取决于数据大小与网速;下载完成后路径可由
dataset.path获取; - 若遇权限错误(尤其在 Raspberry Pi 的受限环境),可通过设置环境变量指定缓存路径:
export OPEN3D_DATA_ROOT="/home/pi/open3d_data"
? 提示:o3d.data 模块支持离线验证与路径调试——调用 dataset.path 后直接检查文件是否存在,避免“找不到文件”类错误。这种设计不仅提升可复现性,也大幅降低新手入门门槛。










