Oxford RobotCar Dataset的数据只有原始数据,没有label。该数据集的详细解释是发表在了一篇IJRR的文章上,具体的可以查看该文章。
首先看一下数据储存的格式:
其中momo_xxx是环视摄像头,stereo下面的是正常的摄像头。图片储存的时候使用Bayer Pattern。所以在使用图片的时候需要做这:
- 畸变校正
- Bayer Pattern 变 RGB
这两个函数在官方提供的工具包内都有,组合一下就形成了Oxford RobotCar Dataset图片的前处理代码
image_dir = '/data/WQ/DataSet/RobotCarOxford/2014-11-25-09-18-32/stereo/centre';
model_dir = '/data/WQ/DataSet/RobotCarOxford/robotcar-dataset-sdk-3.0/matlab/camera-models';
[ ~, ~, ~, ~, ~, LUT] = ReadCameraModel(image_dir, model_dir); % 读取去畸变矫正的相机模型
timestamps = dlmread('/data/WQ/DataSet/RobotCarOxford/2014-11-25-09-18-32/stereo.timestamps');
timestamps = timestamps(1:6001, 1);
output_dir = '/data/WQ/DataSet/RobotCarOxford/rgb/';
% [ ~, ~, ~, ~, ~, LUT] = ReadCameraModel('./camera-models/stereo_narrow_left_undistortion.bin'); % 官方给出的文档,其实感觉有些问题
parfor i = 1:6001
timestamp = timestamps(i);
image = LoadImage('/data/WQ/DataSet/RobotCarOxford/2014-11-25-09-18-32/stereo/centre', timestamp, LUT); % 其中包含了去畸变矫正和Bayer Pattern到RGB
output_name = int2str(timestamp);
output_name = strcat(output_name, '.jpg');
output_name = strcat(output_dir, output_name);
imwrite(image, output_name);
i
end