2016-11-08 15 views
0

イメージデータを配列にロードする関数を定義します。私の画像サイズはすべて200 * 200 * 3(rgb画像)と同じです。私は、サイズN *の配列にロードするつもりです200 * 200 * Nは画像Python:イメージデータを指定されたイメージパスで配列にロード

私は定義された関数の数が3である:

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] =イメージ配列。

Iだろう右、次のコード:

def getImgData(imgPaths): 
    #load image data 
    from scipy import misc  
    imgData = [misc.imread(path) for path in imgPaths] 
    return imgData 
関連する問題