Matlab: как сохранить серию TIFF? - PullRequest
       20

Matlab: как сохранить серию TIFF?

6 голосов
/ 29 декабря 2011

Допустим, у меня есть 3D-массив 'img' (x, y, frame) и я хочу сохранить его в формате TIFF. До сих пор я делал это, сохраняя по одному, как это:

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

круто, но что, если я захочу сохранить его как один стек? Как это сделать? Спасибо:)

Ответы [ 2 ]

9 голосов
/ 29 декабря 2011

Параметр ' 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');
0 голосов
/ 29 декабря 2011

Я думаю, что предпочтительным методом в наши дни является использование Tiff класса в более новой версии MATLAB.

...