python 画3维轨迹图并进行比较的实例


Posted in Python onDecember 06, 2019

一. 数据的格式

首先我们需要x,y,z三个数据进行画图。从本实验用到的数据集KITTI 00.txt中举例:

1.000000e+00 9.043680e-12 2.326809e-11 5.551115e-17 9.043683e-12 1.000000e+00 2.392370e-10 3.330669e-16 2.326810e-11 2.392370e-10 9.999999e-01 -4.440892e-16

一组有12个数据,相当于T={R,t},R是3×3的矩阵,t是3×1的矩阵。我们需要的是t的数据。

有些groundtruth是8个数据,第一个是时间戳,在三个是x,y,z,后面四个是是四元数的数据。

代码如下:

# import necessary module
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np

# load data from file
# you can replace this using with open
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]
# print to check data
#print first_2000
#print second_2000
#print third_2000

# new a figure and set it into 3d
fig = plt.figure()
ax = fig.gca(projection='3d')

# set figure information
ax.set_title("3D_Curve")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel("z")

# draw the figure, the color is r = 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维轨迹图并进行比较的实例

以上这篇python 画3维轨迹图并进行比较的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
常用python数据类型转换函数总结
Mar 11 Python
Python中使用Inotify监控文件实例
Feb 14 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
Pycharm设置界面全黑的方法
May 23 Python
在Mac下使用python实现简单的目录树展示方法
Nov 01 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
python操作微信自动发消息的实现(微信聊天机器人)
Jul 14 Python
python 如何区分return和yield
Sep 22 Python
Python Matplotlib绘制条形图的全过程
Oct 24 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 #Python
python创建ArcGIS shape文件的实现
Dec 06 #Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 #Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 #Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 #Python
用python求一重积分和二重积分的例子
Dec 06 #Python
解决Numpy中sum函数求和结果维度的问题
Dec 06 #Python
You might like
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
javascript import css实例代码
2008/07/18 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
Python中装饰器高级用法详解
2017/12/25 Python
Python实现简易Web爬虫详解
2018/01/03 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
21岁生日感言
2014/02/27 职场文书
常住证明范本
2015/06/23 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript