URL から画像を読み込もうとしています (Google の Static Maps API によって提供されます)。
画像はブラウザで正常に表示されます。
しかし、misc.imread を使用して配列にロードしようとすると、最終的に 2 次元配列になるようです (つまり、平坦化され、RGB カラーはありません)。
これが私が使用しているコードです(APIキーを隠しました):
from scipy import ndimage
from scipy import misc
import urllib2
import cStringIO
url = \
"https://maps.googleapis.com/maps/api/staticmap?maptype=satellite&" \
"center=37.530101,38.600062&" \
"zoom=14&" \
"size=256x278&" \
"key=...."
file = cStringIO.StringIO(urllib2.urlopen(url).read())
image = misc.imread(file)
print image.shape
(278, 256)
私が期待していたのは、形状の 3 次元配列 (278, 256, 3) でした。
たぶん、ファイルを正しく読み取っていませんか?
In [29]:
file.read()[:30]
Out[29]:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\x00\x00\x00\x01\x16\x08\x03\x00\x00\x00\xbe'