如何以图像格式保存多个.mat文件

时间:2016-02-18 12:18:48

标签: image matlab

我正在尝试以jpg图像格式保存所有mat文件,这些文件基本上都是2D图像数据。但是在保存jpg格式时存在问题。只保存最后一个文件 - 问题在于更新文件名。

输出应为

XZ1.jpg
XZ2.jpg
XZ3.jpg
.
.
.
XZ300.jpg 

你会检查我错在哪里,但是可以保存.mat文件。

for i = 1:300 

   data = Y(:,:,i);   % Z-X planes 

   % save as mat file 

   currentFile = sprintf('XZ%d.mat', i);

   save(currentFile,'data') % to save as mat file


   % save as jpg

   currentFile = sprintf('Slice%d.jpg', i);

   imwrite(data, 'currentFile.jpg')

   end

1 个答案:

答案 0 :(得分:0)

首先,输出"所需的输出"应该 Slice1.jpg Slice2.jpg

现在的输出是:currentFile.jpg

,这包含最后一条数据数据= Y(:,:,300);

当您运行代码时,代码使用相同的文件名每个循环来保存JPEG文件。

将行imwrite(data,' currentFile.jpg')更改为 imwrite(data,currentFile)将解决问题

但是:请记住,JPEG是一种损失压缩标准。 换句话说,如果再次读取文件,数据将不完全相同。 如果您的数据是高频数据,您将丢失大量信息