python实现自定义展示点云图函数draw_registration_result(),设定source参数为RGBDimage第i帧的图、target参数为RGBDimage第i+1帧的图、transformation参数为第i帧和第i+1帧两者融合refine_registration后的信息和title参数为窗口名称,其中title参数默认值为“Title”。 1、将source参数和target参数分别赋给source_temp和target_temp。 2、调用paint_uniform_color函数定义绘制点云图的源图和目标图对应的初始颜色列表。 3、调用transform函数对优化后的源图进行转换。 4、调用点云图绘制函数o3d.visualization.draw_geometries()实现多个点云图绘制
时间: 2024-02-23 10:00:59 浏览: 167
可以按照以下代码实现:
```python
import open3d as o3d
def draw_registration_result(source, target, transformation, title="Title"):
# 将source和target分别赋给source_temp和target_temp
source_temp = o3d.geometry.PointCloud(source)
target_temp = o3d.geometry.PointCloud(target)
# 定义绘制点云图的源图和目标图对应的初始颜色列表
source_temp.paint_uniform_color([1, 0.706, 0])
target_temp.paint_uniform_color([0, 0.651, 0.929])
# 对优化后的源图进行转换
source_temp.transform(transformation)
# 调用点云图绘制函数draw_geometries()实现多个点云图绘制
o3d.visualization.draw_geometries([source_temp, target_temp],
zoom=0.8,
front=[0.0665, -0.8728, -0.4834],
lookat=[1.8905, 0.3309, 0.3688],
up=[-0.4978, 0.2592, -0.8277],
title=title)
```
其中,函数中的参数source和target需要传入的是点云对象,transformation需要传入的是变换矩阵。函数中的其他参数可以根据需要进行修改。
阅读全文