2016-11-08 87 views
0

我定义了一个将图像数据加载到数组中的函数。我的图像尺寸都是相同的200 * 200 * 3(RGB图像)。我将其加载到大小为N *的阵列200×200×3其中N为图像Python:将图像数据加载到具有给定图像路径的阵列中

我所定义的功能的数量是:

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的原因,该函数无法按预期工作:列表索引必须是整数,而不是元组。看起来imgData = [](它不是一个数组)有什么问题

任何人都可以帮我解决它吗?谢谢!

回答

0

的问题是在这条线:

imgData[ii,:,:,:] = temp 

我认为,这是实现你期望得到什么:

def getImgData(imgPaths): 
    imgData = [misc.imread(path) for path in imgPaths] 
    return imgData 
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 
相关问题