我需要从堆栈的大量Tiff文件中读取图像,同时使用其他图像更新堆栈。我不想多次加载堆栈以解决性能问题。在Matlab中一次读取一个图像是否有技巧?
答案 0 :(得分:1)
您可以使用Matlab中的Tiff class来操作多tiff文件,即包含许多tiff图像的单个tiff文件。请注意,我并不是这方面的专家,但是当我第一次遇到这个时,我完全迷失了,经过一番愚弄,我可以让它上班,所以我希望它会对你有所帮助。这应该有希望让你开始;并且您可以轻松地将其放入循环中以从堆栈中选择多个帧。
在以下代码中,TiffName
指的是multi-tiff文件的名称。
%// Set up Tiff object in 'read' mode
Stack_TiffObject = Tiff(TiffName,'r');
%// Frame you wish to read
FrameToRead = 4;
%// Use setDirectory method to access the image in the stack
Stack_TiffObject.setDirectory(FrameToRead)
%// Read image data
YourImage = Stack_TiffObject.read();
%// Close the Tiff object when you're done
Stack_TiffObject().close
除非我错过了一些非常明显的东西,否则只能从你的堆栈中加载选定的帧。