如何使用MATLAB将mat文件转成txt文件
代码。
%topFolder表示.mat文件的上层目录
%outputFolder表示最终输出TXT文件的上层目录
function flag = mat2txt(topFolder,outputFolder)
%获取所有的.mat文件
AllFile = strcat(topFolder,'\*.','mat');
files = dir(AllFile);
len =length(files);
for i = 1:len
fileName = files(i).name;
%载入相应的mat文件
loadFile = load(strcat(topFolder,fileName));
%创建输出的TXT文件,windows中如果想用‘\n’来表示换行,需要使用'wt'读写模式
outputFile = fopen(strcat(outputFolder,strrep(fileName,'.mat',''),'.txt'),'wt');
%向txt文件中写数据
%dataVariable表示.mat文件中含有的字段名
%由于字段不同数据格式可能不同,所以一次只支持一个字段,根据自己的需要进行修改
%a = cell2mat(loadFile.image_info);
%image_info=loadFile.image_info;
[m,n] = size(loadFile.image_info{1,1}.location);
for j = 1:m
for k =1:n
fprintf(outputFile, '%f ',loadFile.image_info{1,1}.location(j,k));
end
fprintf(outputFile,'\n');
end
flag = fclose(outputFile);
end
end
在运行程序的时候要通过matlab下面的命令行进行运行,如图:
这下面的命令行,就是去调用执行我们自己编写的mat2txt函数,mat2txt中的第一个参数是存放的mat文件夹的地址,第二个参数是存放转化后txt文件夹的地址。
因为我们mat文件里面的字段不同,我们自己也需要进行修改,例如,我的这个程序是将,shanghaitech数据集中mat文件转成txt文件。
因为mat文件中要转化的数据是image_info{1,1}.loaction这个数组,所以就需要将这个字段名填写上去就行了。
[m,n] = size(loadFile.字段名);
for j = 1:m
for k =1:n
fprintf(outputFile, '%f ',loadFile.字段名(j,k));
本文原码地址本主要是为小白们讲解如何使用,如有侵权可联系删除