我目前正在编写用于图像分析的代码 . 理想情况下,我想快速加载图像堆栈,对齐和测量图像的细节 . 为了加快这个过程,我采用了following code进行了一些修改 .

除了最后一帧的问题之外,代码在调试后非常有效 . 每次加载最后一帧时,都会收到此错误 .

使用tifflib时出错无法使用dirnum = 901更改为目录 .

我想过只使用 imread 来加载最后一帧,但我想知道是否有办法解决这个问题而不必这样做 .

代码供参考

InfoImage=imfinfo(loadloc);
mImage=InfoImage(1).Width;
nImage=InfoImage(1).Height;
bitdepth = InfoImage(1).BitDepth;
NumberImages=length(InfoImage);            
FinalImage=zeros(nImage,mImage,NumberImages,'uint16');

FileID = tifflib('open',loadloc,'r');
rps = tifflib('getField',FileID,Tiff.TagID.RowsPerStrip);

for i=1:NumberImages
   tifflib('setDirectory',FileID,i);
   % Go through each strip of data.
   rps = min(rps,nImage);
   for r = 1:rps:nImage
      row_inds = r:min(nImage,r+rps-1);
      stripNum = tifflib('computeStrip',FileID,r)-1;
      FinalImage(row_inds,:,i) = tifflib('readEncodedStrip',FileID,stripNum);
   end
end