使用Open3D进行PCD拟合平面的Python代码示例

使用Open3D进行PCD拟合平面的Python代码示例

 

复制代码
import open3d as o3d  
import numpy as np  
  
# 读取点云数据  
pcd = o3d.io.read_point_cloud("2023042501.pcd")  
  
# 创建PCD图  
pcd_graph = o3d.geometry.PointCloudGraph(pcd)  
  
# 选择要拟合的平面  
plane_center = o3d.geometry.Vector3d(0.0, 0.0, 0.0)  
plane_normal = o3d.geometry.Vector3d(1.0, 0.0, 0.0)  
plane_vertices = o3d.geometry.Vector3d(0.0, 0.0, 0.0)  
  
# 创建平面  
plane = o3d.geometry.Plane(plane_center, plane_normal)  
  
# 添加点云数据到平面  
plane_vertices = o3d.geometry.Vector3d(pcd.vertices[0], pcd.vertices[1], pcd.vertices[2])  
o3d.geometry.centroid(plane)  
plane.set_vertex_data_multi(plane_vertices)  
  
plane_vertices = o3d.geometry.Vector3d(pcd.vertices[0], pcd.vertices[1], pcd.vertices[2])  
o3d.geometry.center(plane)  
plane.set_vertex_data_multi(plane_vertices)  
  
plane_vertices = o3d.geometry.Vector3d(pcd.vertices[0], pcd.vertices[1], pcd.vertices[2])  
o3d.geometry.normal(plane)  
plane.set_vertex_data_multi(plane_vertices)  
  
# 显示结果  
o3d.visualization.draw_geometries([pcd_graph, plane])  
  
# 输出平面参数  
print("平面参数:", plane_center, plane_normal, plane_vertices)
复制代码

 

 

 

#####################

posted @   西北逍遥  阅读(612)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
历史上的今天:
2022-05-11 判断字符串中是否有数字
2021-05-11 QSize
2020-05-11 IfcRelProjectsElement
2020-05-11 IfcTransportElementType
点击右上角即可分享
微信分享提示