在形状为 (45, 2040, 5200,3) 的 numpy.ndarray 上迭代 45 次无法将 int 连接到元组
Iterate 45 times over a numpy.ndarray of shape (45, 2040, 5200,3) can't concatenate int to tuple
我正在尝试迭代 45 个图像数据,其形状为 (2040,5200) 和 3 个颜色通道。 numpy 数组数据的形状为 (45,2040,5200,3)。我正在尝试将所有 45 张图像的 (2040,5200) 值设为 np.zeros
marker_image=[]
i=0
for i in enumerate(data):
imm = np.zeros(data[i].shape[:2],dtype=np.uint8)
#marker_image.npbytes
marker_image.append(imm)
i+1
收到此错误'can only concatenate tuple (not "int") to tuple'
如何解决这个问题?
您坚持的错误与 numpy
或 list
或其他任何东西无关,而只是您使用 enumerate
的方式。这个函数接受一个可迭代的值,例如 list
、numpy
数组和类似的变量,为您提供一个元组。元组的第一个元素是值的索引,第二个值是可迭代变量中的元素。因此,i
是一个元组,而您正试图在一个不可接受的元组上调用 i += 1
。 enumerate
通常这样使用:
marker_image=[]
i=0
for index, value in enumerate(data):
imm = np.zeros(data[i].shape[:2],dtype=np.uint8)
#marker_image.npbytes
marker_image.append(imm)
# What you want to do in the rest code
我正在尝试迭代 45 个图像数据,其形状为 (2040,5200) 和 3 个颜色通道。 numpy 数组数据的形状为 (45,2040,5200,3)。我正在尝试将所有 45 张图像的 (2040,5200) 值设为 np.zeros
marker_image=[]
i=0
for i in enumerate(data):
imm = np.zeros(data[i].shape[:2],dtype=np.uint8)
#marker_image.npbytes
marker_image.append(imm)
i+1
收到此错误'can only concatenate tuple (not "int") to tuple'
如何解决这个问题?
您坚持的错误与 numpy
或 list
或其他任何东西无关,而只是您使用 enumerate
的方式。这个函数接受一个可迭代的值,例如 list
、numpy
数组和类似的变量,为您提供一个元组。元组的第一个元素是值的索引,第二个值是可迭代变量中的元素。因此,i
是一个元组,而您正试图在一个不可接受的元组上调用 i += 1
。 enumerate
通常这样使用:
marker_image=[]
i=0
for index, value in enumerate(data):
imm = np.zeros(data[i].shape[:2],dtype=np.uint8)
#marker_image.npbytes
marker_image.append(imm)
# What you want to do in the rest code