matlab:如何保存TIFF系列?

时间:2011-12-29 09:07:44

标签: matlab stack tiff save series

假设我有一个3D阵列'img'(x,y,帧),并希望将其保存为TIFF。到目前为止,我这样做是通过这样一个一个地保存:

for K=1:length(img(1, 1, :))
   outputFileName = sprintf('img_%d.tif',K);
   imwrite(img(:, :, K), outputFileName);
end
很酷,但是如果我想将它保存为一个tiff堆栈怎么办?怎么做? 谢谢:))

2 个答案:

答案 0 :(得分:9)

参数“append”似乎符合您的要求。

outputFileName = 'img_stack.tif'
for K=1:length(img(1, 1, :))
   imwrite(img(:, :, K), outputFileName, 'WriteMode', 'append');
end

编辑: 当打开像这样保存的多个人时,IMAGEJ有问题。 '压缩','无'正在解决问题:)使用:

imwrite(img(:, :, K), outputFileName, 'WriteMode', 'append',  'Compression','none');

答案 1 :(得分:0)

我认为目前首选的方法是在较新版本的MATLAB中使用Tiff class