open3d 3D相机获取点云数据并显示坐标代码
时间: 2023-09-09 19:14:29 浏览: 333
三维点云数据,深度相机获取
5星 · 资源好评率100%
以下是使用Open3D库获取3D相机点云数据并显示坐标的Python代码示例:
```python
import open3d as o3d
import numpy as np
# 创建Open3D可视化窗口
vis = o3d.visualization.Visualizer()
vis.create_window()
# 获取RealSense相机
pipe = o3d.io.RealSenseSensor()
config = o3d.io.RealSenseSensorConfig()
config.enable_depth = True
config.enable_color = False
pipe.start(config)
try:
while True:
# 从相机获取数据
rgbd = pipe.capture_frame(convert_rgb_to_intensity=False)
pcd = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd, o3d.camera.PinholeCameraIntrinsic(
o3d.camera.PinholeCameraIntrinsicParameters.PrimeSenseDefault))
# 获取点云数据并显示坐标
points = np.asarray(pcd.points)
for i in range(points.shape[0]):
print("Point {}: ({:.2f}, {:.2f}, {:.2f})".format(i, points[i][0], points[i][1], points[i][2]))
# 显示点云
vis.add_geometry(pcd)
vis.poll_events()
vis.update_renderer()
finally:
pipe.stop()
vis.destroy_window()
```
这个Python代码示例中,我们使用Open3D库获取RealSense相机数据,并将其转化为Open3D点云对象。然后,我们获取点云数据并显示坐标。最后,我们在Open3D可视化窗口中显示点云。注意,这个示例只显示了点云数据的前几个点的坐标,实际上可以遍历整个点云数据并显示每个点的坐标。
阅读全文