0

URL から画像を読み込もうとしています (Google の Static Maps API によって提供されます)。

画像はブラウザで正常に表示されます。

ここに画像の説明を入力

https://maps.googleapis.com/maps/api/staticmap?maptype=satellite¢er=37.530101,38.600062&zoom=14&size=256x278&key= ...

しかし、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'
4

1 に答える 1