在 MATLAB 中读取多帧 tiff

Reading multiframe tiff in MATLAB

我正在尝试读取尺寸为 610 x 610 x 1200 的多帧 tiff imread('file.tiff') 只读取文档中提到的第一张图像。

我想知道如何读取所有帧。

ip =  imread('file.tiff') 

size(ip) = 610   610

但我想要它 return

size(ip) = 610  610   1200

关于如何执行此操作的任何建议都将非常有帮助。

您应该使用专用于此目的的 tiff.read

t = Tiff('file.tiff','r');
ip = read(t);

使用您的代码,您只能获得第一张图像,因为这是 imread 的默认行为。 documentation 表示:

TIFF Files
'Index' — Image to read

1 (default) | positive integer
Image to read, specified as the comma-separated pair consisting of 'Index' and a positive integer. For example, if the value of Index is 3 then imread reads the third image in the file.

另请阅读文档中的“Read Specific Image in Multipage TIFF File”。 如果你想使用 imread 那么你可以遍历所有索引以获得你想要的结果。