Python 添加光栅

Python 添加光栅,python,numpy,raster,Python,Numpy,Raster,我有一张光栅表。我想在列表中按像素顺序添加光栅。 我正在使用numpy和gdal。我的代码是: from osgeo import gdal import numpy as np def fn(): i0 = r'C:\Add\rst0.tif' i1 = r'C:\Add\rst1.tif' i2 = r'C:\Add\rst2.tif' List = [i0,i1,i2] res = [] res1=[] for f in List

我有一张光栅表。我想在列表中按像素顺序添加光栅。 我正在使用numpy和gdal。我的代码是:

from osgeo import gdal
import numpy as np

def fn():
    i0 = r'C:\Add\rst0.tif'
    i1 = r'C:\Add\rst1.tif'
    i2 = r'C:\Add\rst2.tif'
    List = [i0,i1,i2]
    res = []
    res1=[]

    for f in List:
        gd = gdal.Open(f)
        res.append(gd.GetRasterBand(1).ReadAsArray())
        arr = np.array(res)
        flat = arr.flatten()
        res1.append(flat) #list of flattened arrays
        print(flat)
        print(res1) #list of flattened arrays
    return res1
    aa = sum(res1)
    print(aa)
我得到该行的错误信息:

TypeError:“numpy.ndarray”对象不可调用

我不想做简单的
i0+i1+i2
,因为我正在创建一个用户界面,其中数字输入光栅将由用户定义,因此不知道


所以我理解了,因为列表res1[]存储为类似于[array([0,1,2….3,2,9])、array([1,2,3….6,7,8])、array([1,6,7,…、7,6,9])的内容,我得到了一个错误,即对象是不可调用的,因为列表的结构和列表中存在字符串-“array”。我相信会有办法克服这个问题。然而,我是一个新手,因此将其发布在这里。

变量和重载函数sum()@tstanisl即使将变量更改为aa或bb,我也会收到相同的错误。我也试过np.add,也没用。你有什么建议吗?好的。。请更新问题中的代码好吧,我已经在更新的问题中将变量更改为aa变量aa在每次迭代中都会被覆盖。我想它应该添加到一些累加器变量和重载函数sum()@tstanisl中,即使将变量更改为aa或bb之类的值,我也会得到相同的错误。我也试过np.add,也没用。你有什么建议吗?好的。。请更新问题中的代码好吧,我已经在更新的问题中将变量更改为aa变量aa在每次迭代中都会被覆盖。我想应该把它加到一些累加器上