我定义了一个将图像数据加载到数组中的函数。我的图像尺寸都相同200 * 200 * 3(rgb图像)。我将把它们加载到一个大小为N * 200 * 200 * 3的数组中,其中N是图像的数量
我定义的功能是:
def getImgData(imgPaths):
#load image data
from scipy import misc
imgData = [] #assume its shape is unknown
for ii in range(len(imgPaths)):
temp = misc.imread(imgPaths[ii])
imgData[ii,:,:,:] = temp
return imgData
输入imgPaths是一个列表,每个元素都是图像的绝对路径。
但由于TypeError,函数无法按预期工作:list indices必须是整数,而不是元组。似乎imgData = [](它不是数组)
有问题任何人都可以帮我解决吗?谢谢!
答案 0 :(得分:0)
问题出在这一行:
imgData[ii,:,:,:] = temp
我相信这个实现是你期望得到的:
def getImgData(imgPaths):
imgData = [misc.imread(path) for path in imgPaths]
return imgData
答案 1 :(得分:0)
阵列[N,200,200,3]是什么意思?数组必须具有索引键和值。我想你想要的是一个数组数组,其中数组中的每个索引都指向misc.imread返回的数组对吗? 这会给你
imgData [N] =图像数组。
我想对下面的代码:
def getImgData(imgPaths):
#load image data
from scipy import misc
imgData = [misc.imread(path) for path in imgPaths]
return imgData