PCD文件格式转换脚本

在写一个重建算法的时候需要用到点坐标和法向的数据文件,于是向利用pcl中的法向计算模块来生成法向。输出后法向文件中包含曲率信息,但是这是不需要的。于是自己写了一个python小脚本实现格式转换。

#--coding:utf-8--

import time
import numpy as np
from  sys import argv

script, input_file = argv

input_data = open(input_file,"r")

output_data = open("outdata.asc","w")

doc = ‘‘‘
本脚本用于数据转换,将PCL生成的文件进行转换
  输入为 点云数据+法向信息+曲率  PCD文件
  输出为 点云数据+法向信息     ASC文件
转换后曲率信息被滤除,并将格式转换为通用的asc文件格式
‘‘‘

print(doc)

#转换函数
def transform(input_data, output_data):
    pointList = []

    for line in input_data:

        data = line.split(" ")
        if is_number(data[0]):
            output_data.write("%f  %f  %f  %f  %f  %f\n"
            %((float)(data[0]),
              (float)(data[1]),
              (float)(data[2]),
              (float)(data[3]),
              (float)(data[4]),
              (float)(data[5])))
        else:
            pass

#判断字符串是否为数字
def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass

    return False

transform(input_data, output_data)

原文件内容为:

# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z normal_x normal_y normal_z curvature
SIZE 4 4 4 4 4 4 4
TYPE F F F F F F F
COUNT 1 1 1 1 1 1 1
WIDTH 26381
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 26381
DATA ascii
52.713619 44.306831 2.500001 -0.67111164 -0.08553692 0.73640519 0.00061548286
52.54211 45.728249 2.500001 -0.67243981 -0.090179443 0.73463756 0.00069258711
52.30574 47.160099 2.500001 -0.67485178 -0.10609017 0.73028761 0.00043992131
52.022919 48.57592 2.500001 -0.67386091 -0.11686694 0.72955716 0.00037569425
51.720371 49.97781 2.500001 -0.66632128 -0.11713342 0.73640722 0.00062433031
51.405071 51.394611 2.500001 -0.65537727 -0.11913724 0.74584651 0.00090703077
51.068241 52.847191 2.500001 -0.6404919 -0.1198745 0.75855136 0.001082067
50.717159 54.314861 2.500001 -0.62284762 -0.120147 0.77306247 0.0012497745
50.349918 55.789589 2.500001 -0.60351694 -0.12188542 0.7879793 0.0013898062
49.98164 57.264919 2.500001 -0.56129658 -0.1375796 0.81609923 0.0014789379
49.60405 58.715778 2.500001 -0.53091556 -0.14410463 0.83508235 0.0021452638
49.167542 60.149521 2.500001 -0.45673963 -0.16522408 0.87412238 0.0064957533
48.665119 61.58548 2.500001 -0.27892584 -0.12767911 0.95178694 0.015811486

转换后的文件内容为:

52.713619  44.306831  2.500001  -0.671112  -0.085537  0.736405
52.542110  45.728249  2.500001  -0.672440  -0.090179  0.734638
52.305740  47.160099  2.500001  -0.674852  -0.106090  0.730288
52.022919  48.575920  2.500001  -0.673861  -0.116867  0.729557
51.720371  49.977810  2.500001  -0.666321  -0.117133  0.736407
51.405071  51.394611  2.500001  -0.655377  -0.119137  0.745847
51.068241  52.847191  2.500001  -0.640492  -0.119874  0.758551
50.717159  54.314861  2.500001  -0.622848  -0.120147  0.773062
50.349918  55.789589  2.500001  -0.603517  -0.121885  0.787979
49.981640  57.264919  2.500001  -0.561297  -0.137580  0.816099
49.604050  58.715778  2.500001  -0.530916  -0.144105  0.835082
49.167542  60.149521  2.500001  -0.456740  -0.165224  0.874122
48.665119  61.585480  2.500001  -0.278926  -0.127679  0.951787
48.067780  62.904530  2.500001  -0.263447  -0.142550  0.954083
47.309990  63.906979  2.500001  -0.082274  -0.155248  0.984443
46.385601  64.398064  2.500001  -0.025878  -0.196875  0.980087
45.383808  64.317551  2.500001  0.015420  -0.199873  0.979701
44.408440  63.701160  2.500001  -0.232693  0.125587  -0.964408
43.552479  62.677849  2.500001  -0.300091  0.156567  -0.940974
42.826420  61.414768  2.500001  -0.369369  0.196475  -0.908275
42.207859  60.036179  2.500001  -0.555614  0.201118  -0.806749
41.684139  58.620060  2.500001  -0.607999  0.191823  -0.770416
时间: 2024-08-26 16:53:24

PCD文件格式转换脚本的相关文章

C#下搭建文件格式转换服务器

文件格式转换,相信很多涉及到office文档在线观看的都会需要,因为浏览器还不能完全支持直接打开office文档,所以很多情况下我们都需要将这些文档转换成flash能够播放的格式,但是另一个问题又来了,有些设备是不支持flash.而笔者经过三个版本的测试,终于有了比较好的一中解决方案.第一种很多人都知道,就是flashpaper但是不幸的是这款软件已经很老了,第二种就是利用office的com,但是缺点非常明显,需要很多代码才能完成很简单的事,并且还要经过很多配置,这其中的痛苦不言而喻.而第三种

Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional

LEADTOOLS ePrint Professional控件是一个多功能一体化文件转换解决方案,它可帮助您将任何Windows应用程序中的文件或图像转换为150种类型的文件,其中包括:PDF, DOC, HTML, TXT, TIFF, JPG, GIF, PNG等等. ePrint Professional包含了两种转换模式 - ePrint printer和ePrint Workstation printer,为您提供不同水平的文件转换控制,您可以更加灵活的进行生产.ePrint prin

【转】使用cocos2d-console工具转换脚本为字节码

从Cocos2D-X v2.1.4版本开始,增加了Cocos2D-console命令行工具,该工具的其中一个功能是:把.js文件转换为.jsc文件,该文件是字节码格式,可以提高代码的安全性. 使用这个工具的方式很简单.以引擎自带的TestJavaScript项目为例: 首先我们cd到Cocos2D-console的目录 1 goldliontekiMacBook-Pro:~ goldlion$ cd /Users/goldlion/Documents/developer/cocos2d-x-3.

文件格式转换工具Print2Flash

Print2Flash是一款虚拟打印机组件,它可以从任意的可打印文档中创建交互式的Adobe Flash电影,并可在web上轻松发布.通过使用Print2Flash您可以轻松的将您的文档转换成真正的Adobe Flash格式,最好的保证您的内容将实际可见,与其他格式相比,它并不存在查看工具的安装问题.通过Print2Flash您可以使用任何应用程序来创建Flash电影,并可以轻松的整合到站点中——可用于超过98.8%的Internet的桌面应用程序.支持flash文档的应用程序用途很广,包括:文

使用textutil进行文件格式转换

Typorahtml, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; } .CodeMirror-lines { padding: 4px 0px; } .CodeMirror pre { padding: 0px 4px; } .CodeMirror-scrollbar-filler, .

Word文件格式转换:Word如何转换成PDF格式

Word文件如何转换成PDF格式呢? 可能大部分人都知道PDF转换成word格式,毕竟这也是一种常用的转换.就word转换成PDF小编在这里告诉大家一种方法! 1.首先我们需要借助辅助工具进行文件格式转换,大家可以在百度浏览器上搜索迅捷PDF转换器,安装在我们所操作的电脑上. 2.鼠标双击运行打开PDF转换器,在左侧栏目中选择到其他文件转换PDF,栏目下有"word转换PDF",关于其它功能就先不介绍了.3.软件下面会看到一些按钮,在这点击"添加文件"在跳转出来的文

PDF文件格式转换攻略:PDF格式转换图片格式

关于PDF文件格式的转换大家有了解多少吗?就比如将PDF格式转换成图片格式,可能之前大家对于PDF件大家都有了解到,办公中我们经常遇到过.现在小编在这里教大家如何将PDF格式转换成图片格式,有兴趣的伙伴可以学着尝试一下! 1.操作之前可以将转换成图片格式的PDF文件另存到电脑桌面上,这样便于在后面的操作. 2.打开PDF转换器进入到操作的页面,在操作页面中可以选择到"PDF转成其他文件"栏目下的功能"文件转换图片",这一步完成之后,然后继续进行下一步操作.3.这时候

Caffe应用篇----文件格式转换

我们手中有的一般都是图片数据,jpg.bmp格式等,但caffe常使用的数据是db格式(leveldb/lmdb),因此首先我们要将自己数据转换成caffe可运行的格式文件.别捉鸡,caffe有给我们提供工具.根目录的tools文件下convert_imageset.cpp,经编译生成可执行文件,存放于./build/tools/文件,这个文件可帮我们将图片文件转换成db格式. 以分类任务为例,需要4个文件,train.train.txt.val.val.txt,train和val分别存放训练数

java 文件格式转换工具

有时候一个文件格式正确在某些情况下不一定能够正确播放,下面可以借助于java的一个类帮助我们把文件格式转正确 File source = new File(filepath); int index=amr.lastIndexOf("."); wavFile=amr.substring(0,index)+".wav"; File target = new File(wavFile); AudioAttributes audio = new AudioAttribute