MATLAB 3D矩阵保存到TIFF(2D)

时间:2015-08-29 11:50:12

标签: matlab multidimensional-array raster

在Matlab中我有一个3D矩阵(AxBxT),在一段时间内在网格中有A×B数据。

我想创建一些AxB的T,2D数组或TIFF文件(栅格),并使用不同名称的循环保存它们。

我做了什么:

load matrix.mat
for i=1:T
  tiff = matrix(:, :, i);
  outputFileName = sprintf('smb%d.tiff', i);
  imwrite(tiff,outputFileName,'WriteMode', 'append')
end

但是我无法让它发挥作用,

任何想法/帮助都非常受欢迎

1 个答案:

答案 0 :(得分:0)

你要做的就是将矩阵转换为双格式,然后使用double()。这应该有效:

load matrix.mat
matrix = double(matrix);
for i=1:T
  tiff = matrix(:, :, i);
  outputFileName = sprintf('smb%d.tiff', i);
  imwrite(tiff,outputFileName,'WriteMode', 'append')
end