由于airsim保存下来的图片都放在同一个文件夹下,故将rgb
图片和depth图片进行分开保存,同时生成对应rgb.txt和depth.txt文本。同时生成associate.txt文档。
Path = 'C:\\Users\\Sugar\\Desktop\\data\\img\\'; % 设置数据存放的文件夹路径
outrgb ='C:\\Users\\Sugar\\Desktop\\dodata\\rgb\\';%设置输出rgb图片路径
outdepth ='C:\\Users\\Sugar\\Desktop\\dodata\\depth\\';%设置输出depth图片路径
File = dir(fullfile(Path,'*.png')); % 显示文件夹下所有符合后缀名为.txt文件的完整信息
%File = dir(Path);
FileNames = {File.name}; % 提取符合后缀名为.txt的所有文件的文件名,转换为n行1列
img_num=length(File);
%name=fullfile(Path,File(1).name(1:17));
%fid=fopen('C:\\Users\\Sugar\\Desktop\\dodata\\rgb.txt','wt');
%for i=1:2:img_num
%str = FileNames{i};
%sub = strsplit(str,'.png');
% s=sub{1};
% sum=strcat(s,' rgb/',str)
% fprintf(fid,'%s\n',sum);
%end
%fclose(fid);
rgbfid=fopen('C:\\Users\\Sugar\\Desktop\\dodata\\rgb.txt','wt');
depthfid=fopen('C:\\Users\\Sugar\\Desktop\\dodata\\depth.txt','wt');
associatefid=fopen('C:\\Users\\Sugar\\Desktop\\dodata\\associate.txt','wt');
%读取rgb图片 %读取depth图片 ,并保存其txt
for i=1:2:img_num
%读取rgb图片,并保存到rgb文件夹下
ImageName_rgb =fullfile(Path,File(i).name);
imgdata_rgb=imread(ImageName_rgb);
imshow(imgdata_rgb);
samename_rgb=fullfile(outrgb,File(i).name);
imwrite(imgdata_rgb,samename_rgb);
%读取rgb图片的名字,将其时间戳和名字保存到rgb.txt文件(图片名字就是时间戳)
str_rgb = FileNames{i};
sub_rgb = strsplit(str_rgb,'.png');
s_rgb=sub_rgb{1};
sum_rgb=strcat(s_rgb,' rgb/',str_rgb);
fprintf(rgbfid,'%s\n',sum_rgb);
%读取depth图片,并保存到depth文件夹下
ImageName_depth =fullfile(Path,File(i+1).name);
imgdata_depth=imread(ImageName_depth);
imshow(imgdata_depth);
samename_depth=fullfile(outdepth,File(i+1).name);
imwrite(imgdata_depth,samename_depth);
%读取depth图片的名字,将其时间戳和名字保存到depth.txt文件(图片名字就是时间戳)
str_depth = FileNames{i+1};
sub_depth = strsplit(str_depth,'.png');
s_depth=sub_depth{1};
sum_depth=strcat(s_depth,' depth/',str_depth);
fprintf(depthfid,'%s\n',sum_depth);
%将rgb.tx和depth.txt合并成一个txt
fprintf(associatefid,'%s',sum_rgb);
fprintf(associatefid,'%s',' ');
fprintf(associatefid,'%s\n',sum_depth);
end
fclose(rgbfid);
fclose(depthfid);
fclose(associatefid);
修改文件夹下名字,进行编号:
%%%修改名字
%ext='*.png';
%dis=dir([Path ext]);
%nms={dis.name};
%for i=1:1:length(nms)
%old_name=[Path nms{i}];
%new_name=[num2str(i),'.png'];
%eval(['!rename' 32 old_name 32 new_name]); %生成新名字
%end