从Tiffstack读取单个图像到Matlab,而不加载整个堆栈

时间:2015-11-11 23:06:04

标签: image matlab image-processing parallel-processing tiff

我需要从堆栈的大量Tiff文件中读取图像,同时使用其他图像更新堆栈。我不想多次加载堆栈以解决性能问题。在Matlab中一次读取一个图像是否有技巧?

1 个答案:

答案 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

除非我错过了一些非常明显的东西,否则只能从你的堆栈中加载选定的帧。