2017-05-07 6 views
2

私はnumpy ndarrayの形で何千もの画像(3つのチャンネルすべて)を1つずつ読み込んでリストに追加しています。私はnumpyの配列にこのリストを変換したい終わりに:それはすべての罰金ですここまで変換できませんndarraysのリストnumpyの配列

アップ
{1:{'img_path': 'path-to-image', 'someOtherKeys':'...'}, 2:{...}} 

images = [] 
for key in key: 
    img = read_image_path(dataset_dictionary[key]['img_path']) 
    images.append(img) 

import numpy as np 
from PIL import Image 

def read_image_path(path, img_size=227): 
    img = Image.open(path) 
    img = np.array(img.resize([img_size, img_size])) 
    return img 

私は次のようになり、辞書から各画像のパスをお読みください。私はサイズ(227,227,3)のndarrayイメージ行列のリストを持っています。しかし、私は、「画像」はnumpyの配列に変換し、関数からそれを返すようにしようとすると、それは次のエラーを与える:

return np.array(images) 

リターンnp.array(画像)

とValueError:入力配列を放送することができませんでした形状(227,227,3)から形状(227,227)

私はこれについて誰かの考えを持って感謝します。

答えて

0

(227,227,3)の代わりに(227,227)の形をしたimg(画像)があります。

次のコードは、どのイメージが違反者であるかを示すはずです。

for key in key: 
    img = read_image_path(dataset_dictionary[key]['img_path']) 
    if img.shape != (227,227,3): 
      print(key) 
+0

はい!私はそのことを考えていませんでした... ありがとうございました。 –

関連する問題