我正在尝试使用python中的gdal打开tiff堆栈。它是一个单独的文件,其中有多个tiff文件。当我在ImageJ中打开它时,我可以滚动堆栈。但是做“gdal.Open(file).ReadAsArray()只会加载第一个tiff文件。有没有办法加载整个堆栈?
答案 0 :(得分:2)
迭代GetSubDatasets
并且(如果所有TIFF页面具有相同的尺寸)创建一个numpy数组:
import numpy, gdal, gdalconst
dataset = gdal.Open("multipage.tiff", gdalconst.GA_ReadOnly)
data = numpy.array([gdal.Open(name, gdalconst.GA_ReadOnly).ReadAsArray()
for name, descr in dataset.GetSubDatasets()])