2011-12-29 8 views
6

私は3D配列 'img'(x、y、frame)を持っていて、それをTIFFとして保存したいとします。これまでのところ私は、一つ一つ、このように保存することでそれをやっていた:matlab:TIFFシリーズを保存するには?

for K=1:length(img(1, 1, :)) 
    outputFileName = sprintf('img_%d.tif',K); 
    imwrite(img(:, :, K), outputFileName); 
end 

クールな、しかし私は1つのTIFFスタックとして保存したい場合は?どうやってするの? ありがとう:)

答えて

8

パラメータ 'append'はあなたが望むものに対応しているようです。

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

EDIT:そのような保存されたmultipletiffsを開くとき ImageJが問題を抱えています。 「圧縮」、「どれも」問題を解決されていない:)使用:

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

多くのお手伝いをしていただきありがとうございます。 – Art

-1

私は、これらの日は、MATLABの新しいバージョンでTiff classを使用することである好適な方法だと思います。

+1

これを行う方法を説明できますか? – Art

+1

まだMATLABヘルプをお読みになりましたか? – Nzbuu

+0

@ Nzbuu:ヘルプセクションは、複数ページになるとかなり不明瞭です。あなたが私たちを啓発するスニペットを持っていれば、それはすばらしいことでしょう。 –

関連する問題