0

我正在尝试在 python 中使用 gdal 打开一个 tiff 堆栈。它是一个文件,其中包含多个 tiff 文件。当我在 ImageJ 中打开它时,我可以滚动浏览堆栈。但是做“gdal.Open(file).ReadAsArray() 只加载第一个 tiff 文件。有没有办法可以加载整个堆栈?

4

1 回答 1

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()])
于 2013-09-28T00:43:23.457 回答