python实现批量点云bin文件转txt文件

import os
import struct
import numpy as np

"""
功能:
	python 批量实现点云.bin文件转换为.txt文件

输入:
	.bin文件根目录,保存txt文件的根目录
	
输出: 
	x,y,z,i格式的txt文件,分割符号为空格
	
"""
def read_velodyne_bin(path):
	pc_list = []
	with open(path, 'rb') as f:
		content = f.read()
		pc_iter = struct.iter_unpack('ffff', content)
		for idx, point in enumerate(pc_iter):
			pc_list.append([point[0], point[1], point[2], point[3]])
	return np.asarray(pc_list, dtype=np.float32)


def bin2txt(data, save_name):
	np.savetxt((save_name + '.txt'), data, fmt="%.6f", delimiter=" ")


def main():
	root_dir = '/home/gmm/snowyweather/Lidar'   # 点云.bin文件路径
	save_path = '/home/gmm/snowyweather/Lidar_txt'  # .txt文件保存路径
	cat = os.listdir(root_dir)
	iteration_num = len(cat)
	for i in range(iteration_num):
		filename = os.path.join(root_dir, cat[i])
		savename = os.path.join(save_path, str(i+1))
		data = read_velodyne_bin(filename)
		bin2txt(data, savename)


if __name__ == "__main__":
	main()

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值