matlab将文件夹中9张图片转成160*120像素大小的数字矩阵,并以mat形式保存
时间: 2024-03-10 22:51:12 浏览: 59
你可以使用一个for循环来读取文件夹中的多张图片,并将处理后的结果保存为mat文件。以下是一个示例代码:
```matlab
% 定义文件夹路径
folder_path = '/path/to/folder';
% 获取文件夹中所有png文件名
file_names = dir(fullfile(folder_path, '*.png'));
% 初始化数字矩阵
img_matrix = zeros(120, 160, numel(file_names));
% 循环处理每张图片
for i = 1:numel(file_names)
filename = fullfile(folder_path, file_names(i).name);
img = imread(filename);
% 调整大小
img_resized = imresize(img, [120 160]);
% 转换为数字矩阵
img_matrix(:,:,i) = double(reshape(img_resized, [], 3));
end
% 保存为mat文件
save('folder_images.mat', 'img_matrix');
```
在上述代码中,我们首先指定了文件夹路径,并使用dir函数获取该文件夹中所有png文件的文件名。然后,我们使用一个for循环遍历所有文件,对每个文件进行大小调整和数字矩阵转换操作,并将处理后的结果存储在一个三维矩阵img_matrix中。最后,我们使用matlab自带的save函数将img_matrix保存为mat文件。
阅读全文