Matlab 原始txt分裂为新的txt文件
2016-01-04 19:58
656 查看
自己的记性一直不好,所以写下来提醒自己啊
将原始txt分裂为2个txt,前三列代表XYZ,后三列代表RGB数据。
将原始txt分裂为2个txt,前三列代表XYZ,后三列代表RGB数据。
</pre><pre name="code" class="html">%初始化变量 path = 'G:\dataCapture\test\'; file =dir(path); for i = 1:length(file) path1 = strcat(path,'000',num2str(i),'\*.txt'); num = dir(path1); for j = 1:length(num) filename =strcat(path,'000',num2str(i),'\', num(i).name); %temp_string1 = num(i).name(6:end-4); %newname = strcat(temp_string1,'_',num2str(i),'.mat'); %将txt读入到mat矩阵中(14版直接拿来用) delimiter = '\t'; formatSpec = '%f%f%f%f%f%f%[^\n\r]'; fileID = fopen(filename,'r'); dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'EmptyValue' ,NaN, 'ReturnOnError', false); fclose(fileID); eval (['data' '= [dataArray{1:end-1}]']); clearvars filename delimiter formatSpec fileID dataArray ans;
%保存前三列几何信息到新的txt %保存后三列纹理信息到新txt new_txt1 = strcat('F:\Data\3D data\3DL_Geometry\',num2str(i),'_',num2str(j),'.txt'); new_txt2 = strcat('F:\Data\3D data\3DL_Textrue\',num2str(i),'_',num2str(j),'.txt'); fid1 = fopen(new_txt1,'wt'); fid2 = fopen(new_txt2,'wt'); % fprintf(fid1,'%d ',temp_string1(:,1:3)); % fprintf(fid2,'%d ',temp_string1(:,4:6)); mm=size(data,1); for k=1:mm fprintf(fid1,'%8.4f ',data(k,1)); fprintf(fid1,'%8.4f ',data(k,2)); fprintf(fid1,'%8.4f \n',data(k,3)); fprintf(fid2,'%8.4f ',data(k,4)); fprintf(fid2,'%8.4f ',data(k,5)); fprintf(fid2,'%8.4f \n',data(k,6)); end fclose(fid1); fclose(fid2); %保存生成的mat %eval (['save ',newname,'']); end end
相关文章推荐
- matlab显示的图片,手动保存时四周有白边
- MatLab安装中出现的问题
- SIFT特征提取-应用篇
- Matlab除法结果取整
- Matlab直方图法去雾
- MATLAB调用c/c++ MATLAB c/c++混编
- matlab练习程序(碎片)
- Matlab lugui
- matlab中find函数的使用说明
- matlab中figure是什么意思
- matlab中的rand函数
- matlab中sort函数的用法
- matlab中repmat函数的用法
- MATLAB中多行注释的三种方法
- matlab plot函数画线,线型和颜色
- 图像小波包分解后如何改变分解系数再重构呢?
- ]MATLAB中的wavedec、wrcoef函数简析
- Matlab求方差,均值,均方差,协方差的函数
- Matlab中的归一化处理
- LibSVM 在matlab中的使用