MATLAB将airsim中保存下来的rgb图片和depth图片进行处理

由于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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值