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 详细说明: "词云"就是数据可视化的一种形式,给出一段文本,根据文本中词语的出现频率 ...
随机推荐
- jQuery中的$.ajax()方法
jQuery中的$.ajax()方法 $.ajax({ type:"POST", url:"../page/user.action?userId=" + use ...
- FusionCharts重写单系列图
/** * @Title:FusionChart.java * @Package:com.yhd.chart.model * @Description:封装FusionChart单系列图 * @aut ...
- php simpleXML操作xml的用法
XML简介 XML是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据.在实际应用中,一些简单的.安全性较低的数据往往使用 XML文件的格式进行存储.这样做的好处一方面可以通过减少与数据库的交 ...
- linux下自动加载设备驱动程序模块
假设你的设备驱动程序为:yourdrivername.ko 1 cp yourdrivername.ko /lib/modules/"version"/kernel/driver ...
- TCP粘包、拆包及解决
TCP属于传输层的协议,传输层除了有TCP协议外还有UDP协议.那么UDP是否会发生粘包或拆包的现象呢?答案是不会.UDP是基于报文发送的,从UDP的帧结构可以看出,在UDP首部采用了16bit来指示 ...
- 利用shell脚本实现对mysql数据库的备份
#!/bin/bash #保存备份个数 number=3 #备份保存路径 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #备份工具 tool=m ...
- C#服务器端生成报告文档:使用帆软报表生成Word、Pdf报告
一.帆软报表简介 报表工具中,帆软报表相比Crystal Report(水晶报表).SQL Server Report Service(SSRS)等报表工具来说算是佼佼者,此外帆软报表在统计图表.数据 ...
- Redis之Hash
一.Redis之Hash简介 1. Hash是一个string类型的field和value的映射表,适合用于存储对象. 2. 每个hash可以存储232-1个键值对(40多亿). 二.Redis之Ha ...
- python 数据结构简介
栈(stack) 定义: 数据集合,只能在一端(首尾)进行删除和插入的列表. 特点: 后进先出(LIFO) 典型作用: 括号匹配:左括号进栈,右括号跟左括号对应则出栈,例如:(({{[]}}))匹配 ...
- Hello English Again
Currently, I just want to write something in English.Maybe I just want to review my Egnlish knowledg ...