本文主要是介绍如何把系列图片存储为.mat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1)存储为.mat文件
pt = 'd:\imgs\';%要存储的路径
ext =
'*.jpg'
;
dis = dir([pt ext]);
nms = {dis.name};
for
k =
1
:length(nms)
nm = [pt nms{k}]; % 注意要加上路径
my_images{k} = imread(nm);
end
save(
'my_images.mat'
,
'my_images'
);
调用的时候:
clc;
clear all;
load my_images.mat
p1 = my_images{
1
};
imshow(p1);
2)比如说有个文件夹,有三十张名称规律的图片。我想把他们储存到一张图,这张图有三十帧该怎么做?
或者如何把他们存到一个,包含所有图片信息的 *.mat 文件中.
解决的方法:可以将图像读进来,拼接为一个大的图保存,或者建立一个MxNx30的矩阵,(如果是彩色则是三通道)
将读进来的数据赋值在每一个通道里面即可。即:
只有gif格式支持多帧图像。如果是为了matlab处理方便的话,还是这样方便些:
用cell数组保存每一个图像
- A = cell(30, 1);
- for k = 1:30
- A{k} = imread('___.tiff');
- end
- save('Data.mat', 'A');
这篇关于如何把系列图片存储为.mat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!