python处理点云数据_python将指定点云文件(asc)转换为PCD格式
起因
由于自己大部分的点云文件都是.asc格式的,但最近用pcl做点云方面的研究,从asc文件到pcd文件手动转化太麻烦,而且效率较低,故此写一个不太成熟的python脚本实现从asc文件到pcd格式文件的转换。
ps:此脚本只适用于ASCII编码的文件,并且只适用于散乱点云
着手写作
分析pcd文件的格式可知,从asc到pcd转换最根本要求就是其文件开头符合pcd格式要求,其中最主要的问题是的是如何动态设置WIDTH和POINTS的值,对于散乱点云,这两个值都可以表示点数.点数的获得可用asc文件的行数表示.
代码如下:
#coding:utf-8
import time
from sys import argv
script ,filename = argv
print ("the input file name is:%r." %filename)
start = time.time()
print ("open the file...")
file = open(filename,"r+")
count = 0
#统计源文件的点数
for line in file:
count=count+1
print ("size is %d" %count)
file.close()
#output = open("out.pcd","w+")
f_prefix = filename.split('.')[0]
output_filename = '{prefix}.pcd'.format(prefix=f_prefix)
output = open(output_filename,"w+")
list = ['# .PCD v.5 - Point Cloud Data file format\n','VERSION .5\n','FIELDS x y z\n','SIZE 4 4 4\n','TYPE F F F\n','COUNT 1 1 1\n']
output.writelines(list)
output.write('WIDTH ') #注意后边有空格
output.write(str(count))
output.write('\nHEIGHT')
output.write(str(1)) #强制类型转换,文件的输入只能是str格式
output.write('\nPOINTS ')
output.write(str(count))
output.write('\nDATA ascii\n')
file1 = open(filename,"r")
all = file1.read()
output.write(all)
output.close()
file1.close()
end = time.time()
print ("run time is: ", end-start)
实例
以20万左右的点云为例,该脚本运行时间大约在0.14s左右,基本可以满足自己的需求
运行以上脚本,便可自动将example.asc转化为example.pcd
python处理点云数据_python将指定点云文件(asc)转换为PCD格式相关推荐
- python抓取表格数据_Python如何实现从PDF文件中爬取表格数据(代码示例)
本篇文章给大家带来的内容是关于Python如何实现从PDF文件中爬取表格数据(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 本文将展示一个稍微不一样点的爬虫. 以往我们的 ...
- 多帧点云数据拼接合并_PCL点云处理实践(二):点云的处理和拼接
滤除背景 我们获得的点云可能包含一部分背景的点云.要去除背景,只保留人体信息,最简单的方式是使用直通滤波器滤除较远点.这部分代码如下:1 2 3 4 5 6pcl::PassThrough<:p ...
- 华云数据“上药控股混合云平台”荣获“2021年度混合云优秀案例”
12月23日,由中国信息通信研究院.中国通信标准化协会主办的2021混合云大会盛大召开.政府主管们领导.协会知名专家.行业企业代表汇聚一堂,围绕混合云架构与应用场景.多云管理平台.云网能力.行业混合云 ...
- 【ASE+python】实现将poscar格式文件批量转换为xsd格式文件
将poscar格式文件批量转换为xsd格式文件 ASE介绍 ASE安装 ASE的ase.io.read()与ase.io.write() ase.io.read() ase.io.write() 单份 ...
- python删除一列数据_python删除txt第一列数据库
带你读<Python数据分析与数据化运营(第2版)>之一:Python和数据化运营 点击查看第二章点击查看第三章Python数据分析与数据化运营(第2版) 宋天龙 著 第1章 Python ...
- python删除某列数据_python删除txt第一列数据库
带你读<Python数据分析与数据化运营(第2版)>之一:Python和数据化运营 点击查看第二章点击查看第三章Python数据分析与数据化运营(第2版) 宋天龙 著 第1章 Python ...
- python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...
怎么用python读取excel表格的数据 import xlrd #open the .xls file xlsname="test.xls" book = xlrd.open_ ...
- python编程处理excel数据_python实现对excel进行数据剔除操作实例
前言 学习Python的过程中,我们会遇到Excel的各种问题.下面这篇文章主要给大家介绍了关于python对excel进行数据剔除操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详 ...
- python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
最新文章
- 如何列出Git 1.7+中的所有远程分支?
- JQuery-- 获取元素的宽高、获取浏览器的宽高和垂直滚动距离
- Cisco堆叠交换机序号的改变
- JS标签的各种事件的举例
- Codeforeces 954C Matrix Walk
- 分布式架构的session问题
- 阿里微服务架构下分布式事务Seata
- android 去掉标题栏、状态栏、横屏
- 华为申请注册姚安娜商标
- golang 时间戳_go语言学习笔记(13)-defer函数、字符串常用函数和时间日期函数...
- android 权限组件设计
- Python学习日记(初级篇01基础语法)——黑马程序员视频学习笔记
- EDEM后处理导出颗粒信息
- (VS2008)Cannot open include file: 'windows.h': No such file or directory 解决办法
- Android热修复技术——QQ空间补丁方案解析(2)
- 手机信息通知标为已读实现原理_27条iPhone苹果(附iPhoneX)手机使用技巧,你用过多少条?...
- python自动化测试平台方案_基于Python的软件测试自动化平台研究
- Kettle 3.2 连接 SQL Server 2008
- ceilometer+gnocchi+influxdb
- 用python做一个上位机串口通信_PYTHON制作画加书法源程序