Kitti dataset转rosbag的一些问题

velodyne odometry的02数据集的000326.bin有问题,无法解压,因此只把其余文件解压出来,velodyne里面有一些莫名奇妙的隐藏文件夹,按 Ctrl+h 键显示出来,然后删掉(这也是我调试以下代码的时候才发现的),把labels文件夹、times.txt、02.txt中对应的label、时间戳、位姿都删掉。

semantickitti2baghttps://github.com/amslabtech/semantikitti2bag

 下载semantickitti2bag代码以后进入该文件夹,按照图片中的方式对数据进行解压之后,执行以下命令就ok了

python __main__.py -p /home/xcy/hdl/SemanticKitti/odometry_velodyne -s 02

以下代码是由于刚开始以为是必须按照连续序号才能用semantickittitobag,所以对labels和velodyne两个文件夹里面000325之后的所有文件序号都减去1,并重命名,调了一些bug,以下是完全跑通的代码,只是不是这次问题的根本原因,用是可以用的。

import os
from shutil import copyfile
import shutil
def myrename(path,backup,i):
    file_list=os.listdir(path)
    for fi in file_list:        
        old_name=fi
        print("name",old_name)
        old_num=str(fi[:-4])
        try:            
            old_num_int=int(old_num)
        except:
            print("fault_old:",old_num)
        new_num=old_num_int-1
        try:
            new_num_str=str(new_num)
        except:
            print("fault_new:",new_num)
        print("oldpath",path+old_name)
        print("newpath",backup+old_name)
        os.rename(path+old_name,path+new_num_str+'.bin')
        shutil.move(path+new_num_str+'.bin',backup+new_num_str+'.bin')
        i=i+1
    print(i)
def myrename1(path):
    file_list=os.listdir(path)
    for fi in file_list:
        old_name=fi
        old_num=old_name[:-4]
        try:
            new_num=int(old_num)
            new_str=str("%06d"%(new_num))
        except:
            print("fault:",old_num)  
        try:
            os.rename(path+old_name,path+new_str+'.bin')
        except:
            print("fault:",old_name)   
        
               
if __name__=="__main__":
    i=0
    path='velodyne1/' 
    backup='velobak/'    
    myrename(path,backup,i)
    myrename1(backup)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值