2017-03-03 19 views
0

私は現在、numpyでさまざまなサイズの画像をたくさん読み込んでいますが、行列の形に関するいくつかの問題があるようです。画像は異なっていても、すべて同じです。異なるサイズの画像がnumpyで同じサイズで読み込まれるのはなぜですか?

例:

long rectangular image

square image

両方は、この関数を使用してロードされます。

def load_image(infilename) : 
    img = Image.open(infilename) 
    img.load() 
    data = np.asarray(img, dtype="int32") 
    return data 

が、両方はdata.shapeが、それはRGBであるため、すべての画像が同じ行数、および3を持っていますが、816は意味をなさない?...彼らが持っているので、(441,816,3) 441は、理にかなっている必要があり列の数が違う? ...なぜ、すべてが同じ数の列を持つかのように読み込まれます。

+2

だった私は考えることができる唯一のことは、あなたが 'infilename'とそれのために間違ったことを渡しているということですコールからコールへの変更はありません。コードに 'img.show()'を一時的に追加して、読み込まれたものを確認してください。 –

答えて

0

エラーは表示されたコードにありません。私はあなたのイメージと、次のプログラムを試してみた:

from PIL import Image 
import numpy as np 

def load_image(infilename): 
    img = Image.open(infilename) 
    img.load() 
    data = np.asarray(img, dtype="int32") 
    return data 

one = load_image("one.png") 
two = load_image("two.png") 

print "One:", one.shape 
print "Two:", two.shape 

出力は

One: (441, 1302, 3) 
Two: (441, 543, 3) 
+0

あなたは絶対的な権利です..何もコードに間違いはありません。それは私がそれを使用する方法でした! – user7654132

関連する問題