2011-12-29 20 views
6

Cho phép nói rằng tôi có một mảng 3D 'img' (x, y, khung) và muốn lưu nó dưới dạng TIFF. Cho đến nay tôi đã làm điều đó bằng cách lưu từng cái một như sau:MATLAB: làm thế nào để lưu chuỗi TIFF?

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

mát mẻ, nhưng nếu tôi muốn lưu nó như một ngăn xếp tiff? Làm thế nào để làm nó? Cảm ơn :)

Trả lời

8

Tham số 'append' có vẻ tương ứng với những gì bạn muốn.

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

CHỈNH SỬA: IMAGEJ gặp sự cố khi mở bội số được lưu như vậy. 'Nén', 'không' là giải quyết vấn đề :) sử dụng:

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

cảm ơn bạn rất nhiều vì đã giúp đỡ :) – Art

-1

Tôi nghĩ rằng phương pháp ưa thích những ngày này là sử dụng Tiff class trong phiên bản mới hơn của MATLAB.

+1

bạn có thể giải thích cách thực hiện điều đó không? – Art

+1

Bạn đã đọc trợ giúp MATLAB chưa? – Nzbuu

+0

@Nzbuu: phần trợ giúp khá mơ hồ khi nói đến ghép kênh. Nếu bạn có một đoạn mã để khai sáng cho chúng tôi thì điều đó thật tuyệt vời. –

Các vấn đề liên quan