图片与mat文件的转换

图片与mat文件的转换

使用Matlab对图片进行操作时,大量的单张图片不利于操作,此时需要将图片转化为.mat格式,.mat方便我们对数据的处理,使我们更加高效的利用数据。实验中每张图片的名称是连续的数字,相同类别的图片张数相等且名称连续。因此,对于图片的处理大致分为两类同一类型多张图片的转换和不同类型多张图片的转换,详细代码如下所示。

1、相同类型的多张图片的转换

1. matlab代码:

close all;
clc;clear all;
num = 17;
for i = 1:num
    Img = imread(sprintf('D:\\matlab_text\\text1\\photo1\\horse\\horse%03d.jpg',i));
    eval(sprintf('Img%d = Img;',i));
end
str = 'save horse_data.mat Img';
for i = 1:num
    str = sprintf('%s Img%d',str,i);
end
eval(str);

2. 数据:彩色图片

3. 结果:图片与mat文件的转换_第1张图片

2、不同类型的多张图片的转换

1. matlab代码

clc; clear all;
filename='test';
% filename='9757';
Datalist=dir(['D:\matlab_text\text1\photo2\',filename,'\*']);
Datalist=Datalist(3:end);
Len =length(Datalist);
for i = 1 : Len
%     NRD(:,:,i) = imread(sprintf(['D:\\matlab_text\\text1\\photo2\\',filename,'\\',filename,'_%d.jpg'], i));
    NRD(:,:,i) = imread(sprintf(['D:\\matlab_text\\text1\\photo2\\',filename,'\\','%d.jpg'], i));
end
% for i = 1 : length(Datalist)
%     NRD(:,:,i) = (NRD(:,:,i)~=0);
% end
% NRD=uint8(NRD);
save(['D:\',filename,'.mat'],'NRD') %保存到指定路径
save(['D:\matlab_text\text1\photo2\',filename,'.mat'],'NRD') %保存到当前路径

2. 数据:大小一致的灰度图像
3. 结果: 图片与mat文件的转换_第2张图片

3、参考文献

将批量图片转换成mat文件
https://www.cnblogs.com/kailugaji/p/11801649.html

4、数据下载

horse
test
9757

你可能感兴趣的:(Matlab)