vispy 显示 kitti 点云数据

vispy 显示 kitti 点云数据

vispy 显示 kitti 点云数据

(感谢前辈)转自: https://zhuanlan.zhihu.com/p/74181054

评价:vispy显示三维点云数据很流畅,但是显示的点好像有点失真的感觉。

Vispy官方例程:
http://vispy.org/gallery.html


import numpy as np
import vispy.scene
from vispy.scene import visuals
import sys

# Make a canvas and add simple view
canvas = vispy.scene.SceneCanvas(keys='interactive', show=True)
view = canvas.central_widget.add_view()

# # generate data 使用随机数据的话把这块反注释掉
# pos = np.random.normal(size=(100000, 3), scale=0.2)
# # one could stop here for the data generation, the rest is just to make the
# # data look more interesting. Copied over from magnify.py
# centers = np.random.normal(size=(50, 3))
# indexes = np.random.normal(size=100000, loc=centers.shape[0]/2.,
# scale=centers.shape[0]/3.)
# indexes = np.clip(indexes, 0, centers.shape[0]-1).astype(int)
# scales = 10**(np.linspace(-2, 0.5, centers.shape[0]))[indexes][:, np.newaxis]
# pos *= scales
# pos += centers[indexes]
# scatter = visuals.Markers()
# scatter.set_data(pos, edge_color=None, face_color=(1, 1, 1, .5), size=5)

# 使用 kitti 数据, n*3 
img_id = 17  # 2,3 is not able for pcl;
path = r'D:\KITTI\Object\training\velodyne\%06d.bin' % img_id  ## Path ## need to be changed
points = np.fromfile(path, dtype=np.float32).reshape(-1, 4)

# create scatter object and fill in the data
scatter = visuals.Markers()
scatter.set_data(points[:,:3], edge_color=None, face_color=(1, 1, 1, .5), size=5)

view.add(scatter)
view.camera = 'turntable'  # or try 'arcball'

# add a colored 3D axis for orientation
axis = visuals.XYZAxis(parent=view.scene)

if __name__ == '__main__':
    if sys.flags.interactive != 1:
        vispy.app.run()

效果如如下,比pcl 显示效果略微差点,但是十多万个点滚动也很流畅:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2172.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JVM异常FGC问题查找过程总结

    JVM异常FGC问题查找过程总结问题现象及分析可能原因分析手动重现异常大对象问题流量暴涨CPU资源被其他进程占用内存被其他进程占用的情况swap分区问题数据库连接异常堆文件分析shell脚本JVM问题排查总结其他遗留的问题前段时间线上的zzuser的服务模块出现大量的异常FGC情况,经过大量排查工作,最后锁定是因为一个sql的大查询导致的。这也给了我非常大的教训,同时我在这次问题的排查过程中也获益匪浅,

    2022年6月19日
  • 【MIME笔记】

    我最近对互联网的一些技术细节很感兴趣,打算做一系列的笔记。====…

    2022年1月18日
  • MySQL命令rename:修改表名

    MySQL命令rename:修改表名rename命令用于修改表名。rename命令格式:renametable原表名to新表名;例如,在表MyClass名字更改为YouClass:  mysql>renametableMyClasstoYouClass;当你执行RENAME时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的ALTER和DROP权限,以及对新表的

    2022年5月25日
  • MyBatis逆向工程代码的生成及使用详解

    MyBatis逆向工程代码的生成及使用详解MyBatis逆向工程代码的生成 在MyBatis的开发过程中,数据库表、实体类、SQL映射文件(mapper.xml文件)以及动态代理接口四者之间有着非常密切的关系。 一般的开发流程是:先设计并创建数据库表(如user表),再根据数据库表创建对应的实体类(如User.java),之后再编写SQL映射文件(如userMapper.xml),最后再根据SQL映射文件…

    2022年6月13日
  • 数据可视化软件在大数据时代的局限性「建议收藏」

    数据可视化软件在大数据时代的局限性「建议收藏」如今,数据可视化软件风靡起来,很多企业认为数据可视化软件是启用先进分析技术的入口。但对一些应用而言,情况并不是这样的。纽约市的非营利组织DonorsChoose致力于跟踪和分析当地学校获得的财务捐助。在它试图为学校管理者、当地国会议员和记者出具一份报告时,它意识到数据可视化软件并不是万能的。乍一看,数据可视化系统对这种非技术组织来说应该是最好的选择了,不过该组织的数据科学家VladDubovsk…

    2022年9月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号