假设我有一个3D阵列'img'(x,y,帧),并希望将其保存为TIFF。到目前为止,我这样做是通过这样一个一个地保存:
for K=1:length(img(1, 1, :))
outputFileName = sprintf('img_%d.tif',K);
imwrite(img(:, :, K), outputFileName);
end
很酷,但是如果我想将它保存为一个tiff堆栈怎么办?怎么做?
谢谢:))
答案 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。