关闭

基于matlab读入指定文件夹下的指定格式的文件

标签: matlabexcelblog
4556人阅读 评论(0) 收藏 举报
分类:

简介

批处理读入文件,按指定要求做处理,然后输出所需数据信息到指定文件。是处理大规模数据或多数量文件自动处理的常见要求。

内容

文件批处理示例:载入指定文件夹下的jpg文件信息。包括文件路径、图像高度、图像宽度。

代码

% By lyqmath
% DLUT School of Mathematical Sciences
% BLOG:
http://blog.csdn.net/lyqmath

% 文件批处理示例:载入指定文件夹下的jpg文件信息
% 包括文件路径、图像高度、图像宽度

clc; clear all;
% 载入文件夹
pathname = uigetdir(cd, '请选择文件夹');
if pathname == 0
    msgbox('您没有正确选择文件夹');
    return;
end
% 搜索jpg格式文件
filesjpg = ls(strcat(pathname,'/*.jpg'));
files = [cellstr(filesjpg)]; % 得到文件路径
len = length(files); % 文件个数

% 开始批量处理图像
height = []; % 需求数据矩阵——高度
width = []; % 需求数据矩阵——宽度
area = []; % 需求数据矩阵——面积
for i = 1:len
    if strcmp(cell2mat(files(i)), '')
        % 将图像转变为矩阵并比较,若相同则返回1
        continue;
    end
    % 将字符数组的对应行级联起来
    Filesname{i} = strcat(pathname,'/',files(i));   
    page{i} = imread(cell2mat(Filesname{i}));
    sz = size(page{i});
    % 将数据返回矩阵中
    height = [height sz(1)];
    width = [width sz(2)];
    area = [area sz(1)*sz(2)];
    % 写入文件路径
    xlswrite('数据提取.xls', Filesname{i}, ...
        '图像文件', sprintf('A%d', i));
end
%输出数据到excel文件中
if ~isempty(height)
    xlswrite('数据提取.xls', height, '图像高度', 'A1');
    xlswrite('数据提取.xls', width, '图像宽度', 'A1');
    xlswrite('数据提取.xls', area, '图像面积', 'A1');
end
结果

这里载入文件夹“D:/Program Files/MATLAB/R2009a/toolbox/images/imdemos”

结论

按照指定要求批处理文件,并导出到表格文件。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:129963次
    • 积分:1542
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:5篇
    • 译文:0篇
    • 评论:60条
    最新评论