matlab将多张图片转换成数字矩阵,并将其保存为一个 mat 文件代码
时间: 2024-03-10 08:51:00 浏览: 83
matlab高效率将各种格式图片转化为mat文件
4星 · 用户满意度95%
以下是将多张图片转换成数字矩阵,并将其保存为一个 mat 文件的 Matlab 代码示例:
```matlab
% 读取多张图片,将它们转换为数字矩阵,并保存为一个 mat 文件
% 设置图片文件夹路径和保存文件名
img_folder = 'path/to/folder';
save_file = 'path/to/save/file.mat';
% 读取图片文件夹中的所有图片
img_files = dir(fullfile(img_folder, '*.jpg')); % 假设图片格式为 jpg
% 循环读取每张图片并转换为数字矩阵
img_data = cell(length(img_files), 1);
for i = 1:length(img_files)
img = imread(fullfile(img_folder, img_files(i).name));
gray_img = rgb2gray(img);
img_data{i} = gray_img; % 将数字矩阵保存到 cell 数组中
end
% 将所有数字矩阵合并为一个矩阵,并保存为 mat 文件
mat_data = cat(3, img_data{:}); % 将 cell 数组转换为三维矩阵
save(save_file, 'mat_data');
```
上面的代码中,首先需要设置图片文件夹路径和保存文件名。然后使用 dir 函数列出文件夹中的所有图片文件,循环读取每张图片并转换为数字矩阵,将所有数字矩阵保存到一个 cell 数组中。最后使用 cat 函数将 cell 数组转换为三维矩阵,并将其保存为一个 mat 文件。
注意,上面的代码中假设所有图片的格式为 jpg,并且图片大小相同。如果图片大小不同,可以使用 imresize 函数将其统一为相同的大小。如果图片格式不同,需要根据实际情况修改代码。
阅读全文