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

标签 python image scipy python-imaging-library

我正在尝试让 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 错误或其他原因?

最佳答案

解决了!我安装 PIL 时没有安装 Libjpeg。所以我这样做了:

pip uninstall PIL
brew install libjpeg
pip install PIL

并且有效。我从这里得到提示:

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

关于python - scipy.misc.imread 创建一个没有大小或形状的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16612293/

相关文章:

python - 使用 scipysolve_bvp 求解边值问题(扩散 react 方程)

python - Plumi/Plone 构建过程中的语法错误

python - 如何使用 Pyqt 小部件创建键盘和鼠标事件

python - 如何获得两个以上列表的对称差异?

c++ - 在 C++ 中处理 16 bpp tiff 文件

html - 如何在 img 标签上创建渐变

python - 在 Python 正则表达式中循环组

android - 将许多大位图图像加载为缩略图 - Android

numpy - "OSError: cannot write object arrays to a file in binary mode"

python - 计算沿轴的直方图