python处理点云数据并生成三维点云模型
1.python代码:
1 import numpy as np
2 import matplotlib.pyplot as plt
3 from mpl_toolkits.mplot3d import Axes3D
4 #f=open('point cloud.txt','r')
5 f=open('11D-zhongxin1-1_RawXYZ_ds_part2.xyz','r')
6 point=f.read()
7 f.close()
8 l1=point.replace('\n',',')
9 l2=l1.split(',')
10 l2.pop()
11 #print(l2)
12 m1=np.array(l2[0:120000])
13 print(len(m1))
14 #m2=m1.reshape(265565,4)
15 m2=m1.reshape(30000,4)
16 print(m2)
17 m3=[]
18 for each in m2:
19 each_line=list(map(lambda x:float(x),each))
20 m3.append(each_line)
21 m4=np.array(m3)
22
23 x=[k[0] for k in m4]
24 y=[k[1] for k in m4]
25 z=[k[2] for k in m4]
26
27 fig=plt.figure(dpi=120)
28 ax=fig.add_subplot(111,projection='3d')
29 plt.title('point cloud')
30 ax.scatter(x,y,z,c='b',marker='.',s=2,linewidth=0,alpha=1,cmap='spectral')
31
32 #ax.set_facecolor((0,0,0))
33 ax.axis('scaled')
34 # ax.xaxis.set_visible(False)
35 # ax.yaxis.set_visible(False)
36 ax.set_xlabel('X Label')
37 ax.set_ylabel('Y Label')
38 ax.set_zlabel('Z Label')
39 plt.show()
2.运行结果如下:

3.点云的数据格式如下(1-15),其中前三列为x,y,z的坐标,我们取用前三列,第四列可以忽略:
658660.61,4231154.24,-13.69,-13.690001
658660.21,4231154.44,-14.12,-14.120000
658660.41,4231154.44,-14.02,-14.025000
658660.61,4231154.44,-14.19,-14.195000
658660.81,4231154.44,-14.13,-14.132500
658661.01,4231154.44,-14.16,-14.160000
658661.21,4231154.44,-13.94,-13.935000
658660.21,4231154.64,-14.07,-14.073333
658660.41,4231154.64,-14.13,-14.127778
658660.61,4231154.64,-14.15,-14.155000
658660.81,4231154.64,-14.06,-14.055000
658661.01,4231154.64,-13.98,-13.977500
658661.21,4231154.64,-13.81,-13.805000
658661.61,4231154.64,-13.94,-13.940000
658660.01,4231154.84,-14.15,-14.150000
python处理点云数据并生成三维点云模型的更多相关文章
- 用python爬取微博数据并生成词云
很早之前写过一篇怎么利用微博数据制作词云图片出来,之前的写得不完整,而且只能使用自己的数据,现在重新整理了一下,任何的微博数据都可以制作出来,放在今天应该比较应景. 一年一度的虐汪节,是继续蹲在角落默 ...
- 点云数据中的三维信息提取pcl
https://www.hanspub.org/journal/PaperInformation.aspx?paperID=24702 https://wenku.baidu.com/view/160 ...
- python+jinja2实现接口数据批量生成工具
在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢. 答案是肯定的! ...
- 第一周:读取XML深度数据并将其重建为三维点云
本周主要任务:学习PCL点云库,掌握利用PCL对点云处理的方法 任务时间:2014年9月1日-2014年9月7日 任务完成情况:完成了读取单幅xml深度数据,并重建三维点云并显示 任务涉及基本方法: ...
- PCL 点云数据操作 OpenCV遍历数据
1.对于点云类型实例cloud,对其第i个点进行赋值操作,使用cloud.point[i].x 和 cloud.point[i].y 和cloud.point[i].z 分别对其XYZ坐标赋值. cl ...
- 点云数据(point cloud) 【转】
转自caimagic的专栏 一:什么是点云数据 点云数据是指在一个三维坐标系统中的一组向量的集合.这些向量通常以X,Y,Z三维坐标的形式表示,而且一般主要用来代表一个物体的外表面形状.不经如此,除(X ...
- python读取三维点云球坐标数据并动态生成三维图像与着色
关键步骤: 1.首先通过读取.txt文本数据并进行一系列字符串处理,提取显示所需要的相关数据矩阵 2.然后利用python的matplotlib库来进行动态三维显示 备注:matplotlib在显示2 ...
- Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云
一 . Java爬取B站弹幕 弹幕的存储位置 如何通过B站视频AV号找到弹幕对应的xml文件号 首先爬取视频网页,将对应视频网页源码获得 就可以找到该视频的av号aid=8678034 还有弹幕序号, ...
- Python 实现的、带GUI界面的词云生成器
代码地址如下:http://www.demodashi.com/demo/14233.html 详细说明: "词云"就是数据可视化的一种形式,给出一段文本,根据文本中词语的出现频率 ...
随机推荐
- Android开发之仿微信显示更多文字的View
最近开发需求中要模仿微信朋友圈文章的展开收起功能,网上找了找,发现都有问题,于是乎自己在前辈的基础上进行了一定量的修改,下边将源码贴出来供大家参考:1.主Activity布局文件就不粘贴了,很简单,就 ...
- 在DirectShow的视频图像上叠加线条和文字
在DirectShow的视频图像上叠加线条和文字 最近一直在从事工业测量方面的开发工作,难免会用到各种各样的相机,其中支持DX的USB相机开发起来比较方便,由于工作需要经常要在视频图像上叠加线条和文字 ...
- JLINK(SEGGER)灯不亮 USB不识别固件修复、clone修改
今天调SMT32插拔几下,JLINK竟然挂掉了网上找了这个教程,搞了半天才搞好,驱动没装好!WIN7系统,自动安装的驱动是GPS.COM10,郁闷,错误来的.应该是:atm6124.sys.要手动选择 ...
- C# 找出泛型集合中的满足一定条件的元素 List.Wher()
在学习的过程中,发现泛型集合List<T>有一个Where函数可以筛选出满足一定条件的元素,结合Lambda表达式使用特别方便,写出来与大家分享. 1.关于Func<> Fun ...
- 自定义JS乘法运算误差解决!
在实际开发中遇到这样一个乘法公式:数量*单价=总价 像这样的浮点数列子:200*8.2,JS算出的结果是: 像这种浮点数的乘法计算就会有误差,我们需要得到准确的值应该是:1640,与我们后台C#计算结 ...
- spring拦截器的简单实现Interceptor
原文链接:http://lixuanbin.iteye.com/blog/2250100 1. 需求描述 某内部管理系统采用Spring MVC搭建,用户可以登录系统进行CRUD以及其他的一些日常管理 ...
- Windows环境下使用python 3.x自带的CGI服务器测试cgi脚本--Python
1.在桌面上新建一个文件夹作为服务器目录文件夹(文件夹名称自定义,文件夹位置自定义),在www文件下再建一个文件夹,文件夹名为“cgi-bin”,须是这个文件名,其他试过不行(原因暂时未知)
- 九九乘法表的实现--JAVA基础
JAVA算法实现:输出九九乘法表 Jiujiu.java: package com.qkys.www; public class Jiujiu { public static void main(St ...
- 举例MyBatis的常用的API及方法
在使用MyBatis框架是,主要涉及以下几个API: 1.SqlSessionFactoryBuilder该对象根据MyBatis配置文件SqlMapConfig.xml构建SQLSessionFac ...
- PyCharm的注册码获取
1.在server选项里边输入 http://elporfirio.com:1017/就可以了. 2.server选项里边输入 http://idea.imsxm.com/ 3.server选项里边 ...