ndarray格式的点云数组转变为open3d.open3d.geometry.PointCloud
原文链接:https://blog.csdn.net/baidu_34172099/article/details/106756630
作为点云可视化利器,居然百度了一圈没有谁写关于open3D与numpy互转的介绍,看来这个毕竟还是小众。翻了一遍官方介绍,还算简单,这里介绍一下如何转换。
NumPy to open3d.PointCloud
numpy转open3D需要借助Vector3dVector函数,这样可以直接赋值与open3d.PointCloud.points,具体操作如下,假设xyz、nxnynz、rgb分别是一个n*3numpy数组,则对于点数,法向量和颜色的转换都可以借助Vector3dVector函数,具体操作如下:
import numpy as np import open3D as o3d pcd = o3d.geometry.PointCloud() pcd.points = o3d.utility.Vector3dVector(xyz) pcd.normals = o3d.utility.Vector3dVector(nxnynz) pcd.colors = o3d.utility.Vector3dVector(rgb)
open3d.PointCloud to NumPy
上面可以看出 open3D是对点做的而变化,所以反过来也是:
import numpy as np import open3d as o3d # Load saved point cloud and visualize it pcd_load = o3d.io.read_point_cloud("../../TestData/sync.ply") # convert Open3D.o3d.geometry.PointCloud to numpy array xyz_load = np.asarray(pcd_load.points) o3d.visualization.draw_geometries([pcd_load])
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2019-12-01 ubuntu16.04matlab中文注释乱码的解决办法
2019-12-01 八月六日,晴
2018-12-01 python处理txt文件的一种情况
2018-12-01 python的join()函数