我正在尝试读取 128 像素 x 128 像素 x 122000 帧的多页 tiff。使用以下代码读取文件:
InfoImage=imfinfo(fname);
mImage=InfoImage(1).Width;
nImage=InfoImage(1).Height;
NumberImages=length(InfoImage);
image=zeros(nImage,mImage,NumberImages,'uint16');
TifLink = Tiff(fname, 'r');
for i=1:NumberImages
TifLink.setDirectory(i);
image(:,:,i)=TifLink.read();
end
TifLink.close();
产生以下错误:
Error using tifflib
Input argument out of range.
Error in Tiff/setDirectory (line 1277)
tifflib('setDirectory',obj.FileID,dirNum-1);
Error in TiffReader (line 18)
TifLink.setDirectory(i);
正好 i = 65537,或 2^16 + 1。
似乎 MATLAB 认为 tiff 不可能长于 65536 帧,这显然不是这种情况,因为我有一个在 ImageJ 中打开得很好。
有谁知道问题可能是什么?