栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python txt转pcd(带RGB值,点云)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python txt转pcd(带RGB值,点云)

1、有numpy就能运行,假如需要转换的TXT文件有header,需要删除header才能运行;
2、直接运行代码,按运行提示输入TXT文件路径和PCD文件保存路径即可,不需要修改代码。

import os
import sys
import numpy as np

def creat_pcd(input_path, output_path):
    
    #Lodaing txt
    Full_Data = np.loadtxt(input_path)
    
    #Creating pcd
    if os.path.exists(output_path):
        os.remove(output_path)
    Output_Data = open(output_path, 'a')
    Output_Data.write('# .PCD v0.7 - Point Cloud Data file formatnVERSION 0.7nFIELDS x y z rgbanSIZE 4 4 4 4nTYPE F F F UnCOUNT 1 1 1 1')
    string = 'nWIDTH ' + str(Full_Data.shape[0])
    Output_Data.write(string)
    Output_Data.write('nHEIGHT 1nVIEWPOINT 0 0 0 1 0 0 0')
    string = 'nPOINTS ' + str(Full_Data.shape[0])
    Output_Data.write(string)
    Output_Data.write('nDATA ascii')
    for j in range(Full_Data.shape[0]):
        R=Full_Data[j,3]
        G=Full_Data[j,4]
        B=Full_Data[j,5]
        value = (int(R) << 16 | int(G) << 8 | int(B))
        string = ('n' + str(Full_Data[j,0]) + ' ' + str(Full_Data[j, 1]) + ' ' +str(Full_Data[j, 2]) + ' ' + str(value))
        Output_Data.write(string)
    Output_Data.close()
    
    print('--------------Completed--------------')

a = input("请输入TXT文件路径:")#文件路径中斜杆使用"/",比如:D:/pcl/points.txt
b = input("请输入PCD文件保存路径:")#比如:D:/pcl/points.pcd

creat_pcd(a, b)

参考链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316096.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号