2016-11-08 88 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 
相關問題