matlab 文件夹操作
2016-03-21 11:15
946 查看
今天处理实验室拍图的数据, 因为主体的流程是用matlab编写的, 拍的图片文件格式也相对比较固定, 就需要我们写一个接口, 将文件中的数据提取出来, 转化为一个主体程序接受的数据格式, 这就涉及到了matlab 的文件夹操作了。
因为好久没写这样的代码了, 有些生疏, 不过还好比较简单, 这里做一个比较浅显的小结。
主要用到了 isdir, dir, strncmp, load 这么几个函数, 用matlab 的帮助doc 指令可以很容易得到他们的使用方法。
下面给出, 我们读取文件夹下二级目录内特定文件内数据的方法
因为好久没写这样的代码了, 有些生疏, 不过还好比较简单, 这里做一个比较浅显的小结。
主要用到了 isdir, dir, strncmp, load 这么几个函数, 用matlab 的帮助doc 指令可以很容易得到他们的使用方法。
下面给出, 我们读取文件夹下二级目录内特定文件内数据的方法
%% 给定图片文件夹的路径, 获取每个子文件夹中的 Rt.txt 文件的内容, 并加入矩阵中 % @params : path 输入文件夹路径 % @return : rtl left 文件夹中的Rt.txt 内容的集合体 % rtr right 文件夹中Rt.txt 内容的集合体 % @description: 文件夹结构是分为 left, right 两个子文件夹, 子文件夹中分别有1~n的子文件夹 % 在这些二级文件夹下有一个 Rt.txt 文件, 这个是我们关注的对象。 % @author : zhyh2010 % @date : 20160320 % @version: version 1.0 % function [rtl, rtr] = getRTALL(path) tf = isdir(path); assert(tf == true, [path, ' 输入路径必须是一个合法的文件夹路径']); rtl = getRT([path, '\\left']); rtr = getRT([path, '\\right']); % errl = getErr([path, '\\left'], 0.1); % errr = getErr([path, '\\right'], 0.1); end % 获取left / right 文件夹下的 RTALL 的集合数据 function [rt] = getRT(path) tf = isdir(path); assert(tf == true, [path, ' 输入路径必须是一个合法的文件夹路径']); listing = dir(path); rt = []; for ii = 1 : length(listing) % 如果遍历的对象不是文件夹, 或者 是 . / .. 不处理 if (listing(ii).isdir == 0 || strncmp(listing(ii).name, '.', 1) == 1) continue; end subpath = [path, '\\', listing(ii).name, '\\Rt.txt']; rt_tmp = load(subpath); rt = [rt; rt_tmp]; end end % 获取left / right 文件夹下的 error.txt 的 超过 error_level 的 集合数据 function [err_set] = getErr(path, err_level) tf = isdir(path); assert(tf == true, [path, ' 输入路径必须是一个合法的文件夹路径']); listing = dir(path); err_set = []; for ii = 1 : length(listing) % 如果遍历的对象不是文件夹, 或者 是 . / .. 不处理 if (listing(ii).isdir == 0 || strncmp(listing(ii).name, '.', 1) == 1) continue; end % 取出最后一行的 error 统计数据, 如果超过 error_level 就将他取出来 subpath = [path, '\\', listing(ii).name, '\\error.txt']; err_set_tmp = load(subpath); % 文件中的最后一行数据是 平均值 data.data = err_set_tmp(end); data.name = listing(ii).name; if data.data >= err_level err_set = [err_set; data]; end end end
相关文章推荐
- MATLAB r2014a 下载+安装+激活
- MATLAB 编程风格指南
- C/C++下调用matlab函数
- matplotlib对ColorBar的处理似乎优于matlab
- 机器学习MatLab实战整理--线性回归
- matlab归一化和反归一化函数——mapminmax
- Matlab 图像处理基本操作
- matlab图像数据转换函数
- Matlab7.0在64位系统下安装的问题…
- 【matlab】:图像获得其边缘
- Matlab中的常用快捷键
- 简述Matlab中size()函数的用法
- 详解Matlab中 sort 函数用法
- MATLAB2015a(2015b)安装教程
- MATLAB中conv2卷积使用方法
- 细化算法matlab
- 利用LSB算法隐藏文字信息的MATLAB实现
- Matlab Robotic Toolbox工具箱学习笔记
- Matlab实现Kruskal最小生成树算法
- 在LaTeX中插入美观的Matlab代码