scipy.misc.imread创建一个没有大小或形状的图像

我试图让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
()

因此,图像被加载,并且大小(870×1110)似乎存在,但是当我执行image.size或im​​age.shape时,我得到了垃圾.

我在另一台计算机的同一图像上使用了完全相同的代码,并得到了明智的结果:

>>> image.size
237456
>>> image.shape
(318,249,3)

(顺便说一句,当我在好的机器上打印图像时,它显示为uint8数组而不是对象数组).

坏的机器是一台运行Mountain Lion的Mac,运行的是Python 2.7.4和scipy版本0.11(以防万一,我从0.12降级了).我正在使用venv在虚拟环境中运行.

有人知道发生了什么吗?我是否严重安装了PIL或其他?

解决方法:

解决了!我安装PIL时未安装Libjpeg.所以我这样做:

pip uninstall PIL
brew install libjpeg
pip install PIL

而且有效.我从这里得到提示:

https://*.com/a/12194881/11522

上一篇:python-在行和列中切片scipy.sparse.lil_matrix


下一篇:python-如何在scipy中定义(n,0)稀疏矩阵或如何按列组装稀疏矩阵?