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

简介

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

内容

文件批处理示例:载入指定文件夹下的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”

结论

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

阅读更多
文章标签: matlab excel blog
个人分类: 图像处理文档
上一篇颜色分割图像实例
下一篇超分辨率图像理解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭