在处理kitti_raw时需要读取所有文件中的lift_image , right_image, lift_depth, right_depth 图像或者雷达数据集,通过OS OS.path可以方便快速遍历所有文件,提取数据集
import os
import os.path
path_raw = r"/media/lab316/d67037a3-ff7d-40d1-8483-bfab35d3738f/kitti_raw/" ## kitti_raw 源文件根目录
def images_files(path_raw):
lift_image = [] ## 定义要提取数据列表
right_image = []
lift_depth = []
right_depth = []
for path_dir,sub_files,files in os.walk(path_raw): #遍历所有文件目录返回path_dir文件所在位置目录,文件所在位置文件夹,文件名称
for file in files :
if path_dir.endswith('data'): # 找到文件夹名称
parent_dir = os.path.dirname(path_dir)#找到文件夹上一级文件名称
if parent_dir.endswith('image_00'): #根据不同类型图片如左相机深度图,右图读取不同类型的图像
lift_depth.append(os.path.join(path_dir,file))
if parent_dir.endswith('image_01'):
right_depth.append(os.path.join(path_dir,file))
if parent_dir.endswith('image_02'):
lift_image.append(os.path.join(path_dir,file))
if parent_dir.endswith('image_03'):
right_image.append(os.path.join(path_dir,file))
return lift_image,right_image,lift_depth,right_depth #返回文件列表
lift_image,right_image,lift_depth,right_depth = images_files(path_raw)