python 画3维轨迹图并进行比较的实例
一.数据的格式
首先我们需要x,y,z三个数据进行画图。从本实验用到的数据集KITTI00.txt中举例:
1.000000e+009.043680e-122.326809e-115.551115e-179.043683e-121.000000e+002.392370e-103.330669e-162.326810e-112.392370e-109.999999e-01-4.440892e-16
一组有12个数据,相当于T={R,t},R是3×3的矩阵,t是3×1的矩阵。我们需要的是t的数据。
有些groundtruth是8个数据,第一个是时间戳,在三个是x,y,z,后面四个是是四元数的数据。
代码如下:
#importnecessarymodule frommpl_toolkits.mplot3dimportaxes3d importmatplotlib.pyplotasplt importnumpyasnp #loaddatafromfile #youcanreplacethisusingwithopen data1=np.loadtxt("./dataset/poses/00.txt") first_2000=data1[:,3] second_2000=data1[:,7] third_2000=data1[:,11] data2=np.loadtxt("../temp/kittiseq00_imu.txt") first_1000=data2[:,1] second_1000=data2[:,2] third_1000=data2[:,3] #printtocheckdata #printfirst_2000 #printsecond_2000 #printthird_2000 #newafigureandsetitinto3d fig=plt.figure() ax=fig.gca(projection='3d') #setfigureinformation ax.set_title("3D_Curve") ax.set_xlabel("x") ax.set_ylabel("y") ax.set_zlabel("z") #drawthefigure,thecolorisr=read figure1=ax.plot(first_2000,second_2000,third_2000,c='r') figure2=ax.plot(first_1000,second_1000,third_1000,c='b') plt.show()
效果图(电脑比较垃圾,后面的轨迹跟踪的时候提取的特征点太少):
以上这篇python画3维轨迹图并进行比较的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。