matlab读入指定文件夹下的指定格式的文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%可以打开某个文件夹下的所有图片。并显示
clc; clear all;close all
% 载入文件夹
pathname = uigetdir(cd, '请选择文件夹');
if pathname == 0
msgbox('您没有正确选择文件夹');
return;
end
% 搜索jpg格式文件
filesjpg = ls(strcat(pathname,'/*.bmp'));
files = [cellstr(filesjpg)]; % 得到文件路径,files(i)为图像名\路径
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)];
figure,imshow(page{i});title(files(i), 'FontWeight', 'Bold');%显示图像
end
%%%%%%%%%%%%%%%
%一下内容为原版
批处理读入文件,按指定要求做处理,然后输出所需数据信息到指定文件。是处理大规模数据或多数量文件自动处理的常见要求。
内容
文件批处理示例:载入指定文件夹下的jpg文件信息。包括文件路径、图像高度、图像宽度。
代码
% By lyqmath
% DLUT School of Mathematical Sciences
% BLOG:/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