我正在尝试读取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中打开的很好。
有谁知道问题可能是什么?