私は scipy.misc.imread に画像を読み込んでサイズを教えてもらうようにしようとしています.これは他のコンピューターではうまくできましたが、新しいMacでは失敗しています:
Python 2.7.4 (default, May 16 2013, 16:40:58)
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.65))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy.misc
>>> scipy.__version__
'0.11.0'
>>> image = scipy.misc.imread('test.jpg')
>>> image
array(<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=870x1110 at 0x10BEC3F80>, dtype=object)
>>> image.size
1
>>> image.shape
()
そのため、画像が読み込まれ、サイズ (870x1110) が存在するように見えますが、image.size または image.shape を実行するとゴミが発生します。
別のマシンの同じイメージでまったく同じコードを使用すると、適切な結果が得られます。
>>> image.size
237456
>>> image.shape
(318,249,3)
(ちなみに、良いマシンでイメージを印刷すると、オブジェクトの配列ではなく、uint8 の配列として表示されます)。
悪いマシンは、Python 2.7.4 と scipy バージョン 0.11 を搭載した Mountain Lion を実行している Mac です (問題があった場合に備えて、0.12 からダウングレードしました)。venv を使用して仮想環境で実行しています。
何が起こっているか知っている人はいますか?PIL を正しくインストールしていませんか。