介绍一个很好用的python可视化库:mayavi,其底层实现是vtk库。
在从事6D位姿估计方面的工作时,经常需要可视化各种坐标系的朝向,而使用C++编写可视化程序比较复杂,而通过python脚本可以快速完成。
下面给出一个可视化pose的程序,作用是从./pose文件夹下读取保存4*4位姿矩阵的一组txt文件可视化位姿,并可视化Oxyz坐标系。
import numpy as np
from mayavi import mlab
from pathlib import Path
poses = Path(r"./pose").glob("*")
for pose_file in poses:
pose = np.loadtxt(str(pose_file))
print(pose)
mlab.quiver3d(pose[0][3], pose[1][3], pose[2][3], pose[0][0], pose[1][0], pose[2][0], line_width=3, scale_factor=100, colormap = "Reds")
mlab.quiver3d(pose[0][3], pose[1][3], pose[2][3], pose[0][1], pose[1][1], pose[2][1], line_width=3, scale_factor=100, colormap = "Greens")
mlab.quiver3d(pose[0][3], pose[1][3], pose[2][3], pose[0][2], pose[1][2], pose[2][2], line_width=3, scale_factor=100, colormap = "Blues")
mlab.quiver3d(0, 0, 0, 1, 0, 0, line_width=3, scale_factor=200, colormap = "Reds")
mlab.quiver3d(0, 0, 0, 0, 1, 0, line_width=3, scale_factor=200, colormap = "Greens")
mlab.quiver3d(0, 0, 0, 0, 0, 1, line_width=3, scale_factor=200, colormap = "Blues")
mlab.show()