我正在尝试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的数组而不是对象数组。)
糟糕的机器是Mac,运行Mountain Lion,python 2.7.4和scipy版本0.11(如果出现问题,我将从0.12降级)。我正在使用venv在虚拟环境中运行。
任何人都知道发生了什么事吗?我是否严重安装了PIL?或者其他什么?
答案 0 :(得分:4)
解决!安装PIL时没有安装Libjpeg。所以我这样做了:
pip uninstall PIL
brew install libjpeg
pip install PIL
它有效。我从这里得到了提示: