我正在尝试以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
答案 0 :(得分:0)
首先,输出"所需的输出"应该 Slice1.jpg Slice2.jpg
现在的输出是:currentFile.jpg
,这包含最后一条数据数据= Y(:,:,300);
当您运行代码时,代码使用相同的文件名每个循环来保存JPEG文件。
将行imwrite(data,' currentFile.jpg')更改为 imwrite(data,currentFile)将解决问题
但是:请记住,JPEG是一种损失压缩标准。 换句话说,如果再次读取文件,数据将不完全相同。 如果您的数据是高频数据,您将丢失大量信息