file format conversion: pcd2txt, txt2pcd

    科技2022-07-20  99

    file format conversion, including pcd2txt, txt2pcd

    # file format conversion import math import os import pcl def txt2pcd(filename): xlist = [] ylist = [] zlist = [] with open(filename, 'r') as file_to_read: while True: lines = file_to_read.readline() if not lines: break pass x, y, z = [float(i) for i in lines.split(' ')] print(str(x) + ' ' + str(y) + ' ' + str(z)) xlist.append(x) ylist.append(y) zlist.append(z) savefilename = './test_1.pcd' if not os.path.exists(savefilename): f = open(savefilename, 'w') f.close() with open(savefilename, 'w') as file_to_write: file_to_write.writelines("# .PCD v0.7 - Point Cloud Data file format\n") file_to_write.writelines("VERSION 0.7\n") file_to_write.writelines("FIELDS x y z\n") file_to_write.writelines("SIZE 4 4 4\n") file_to_write.writelines("TYPE F F F\n") file_to_write.writelines("COUNT 1 1 1\n") file_to_write.writelines("WIDTH " + str(len(xlist)) + "\n") file_to_write.writelines("HEIGHT 1\n") file_to_write.writelines("VIEWPOINT 0 0 0 1 0 0 0\n") file_to_write.writelines("POINTS " + str(len(xlist)) + "\n") file_to_write.writelines("DATA ascii\n") for i in range(len(xlist)): file_to_write.writelines(str(xlist[i]) + " " + str(ylist[i]) + " " + str(zlist[i]) + "\n") def pcd2txt(pcdfile): p = pcl.load(pcdfile) savetxtfile = './test_1_inliers.txt' with open(savetxtfile, 'w') as f: f.write(str(p.size) + 'points in total' + '\n') # print(p[i]) for i in range(p.size): x = str(p[i][0]) y = str(p[i][1]) z = str(p[i][2]) f.write(x + ' ' + y + ' ' + z + '\n') if __name__ == '__main__': txtfile = './3dposition.txt' pcdfile = './pcldata/tutorials/test_1.pcd' txt2pcd(txtfile) pcd2txt(pcdfile)

     

    Processed: 0.013, SQL: 8