scipy.misc模块没有属性imread?

我正在尝试用scipy阅读图像。 但是它不接受scipy.misc.imread部分。 这可能是什么原因?

 >>> import scipy >>> scipy.misc <module 'scipy.misc' from 'C:\Python27\lib\site-packages\scipy\misc\__init__.pyc'> >>> scipy.misc.imread('test.tif') Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> scipy.misc.imread('test.tif') AttributeError: 'module' object has no attribute 'imread' 

您需要安装Pillow (以前的PIL )。 从scipy.misc 文档 :

请注意,Pillow不是SciPy的依赖,但下面列出的image processingfunction在没有它的情况下不可用:

imread

安装Pillow之后,我能够访问imread ,如下所示:

 In [1]: import scipy.misc In [2]: scipy.misc.imread Out[2]: <function scipy.misc.pilutil.imread> 

您需要Python图像库(PIL),但是唉! PIL项目似乎已经被放弃了。 特别是,它没有被移植到Python 3.所以,如果你想在Python 3中使用PILfunction,那么你最好使用PILOW ,这是PIL的半官方分支,似乎是积极开发的。 其实,如果你需要一个现代的PIL实现,我会推荐枕头。 这就像pip install pillow一样简单。 因为它使用与PIL相同的名称空间,所以它本质上是一个插入式replace。

这个叉子如何“半官方”? 你可能会问。 枕头文档的关于页面这样说:

自上次PIL发布以来,随着时间的推移,新的PIL版本的可能性下降。 但是,我们还没有听到官方的“PIL已经死了”的消息。 所以如果你还想支持PIL,请先在这里报告问题,然后在这里打开相应的Pillow门票。

请提供第一张票的链接,以便我们可以跟踪上游的问题。

然而, 官方PIL网站上最新的PIL版本发布date为2009年11月15日。我认为我们可以安全地宣布Pillow作为PIL的接class人(截至撰写本文)近8年没有新发布。 所以,即使你不需要Python 3支持,我build议你不要使用PyPI中的古老的PIL 1.1.6发行版,只安装新的,最新的,兼容的Pillow。

Imread使用PIL库,如果库安装使用:“from scipy.ndimage import imread”

资料来源: http : //docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.ndimage.imread.html

 python -m pip install pillow 

这对我有效。

通过以下命令安装Pillow库:

 pip install pillow 

请注意,所选答案已过时。 查看SciPy的文档

请注意,Pillow( https://python-pillow.org/ )不是SciPy的依赖项,但下面列出的image processing函数在没有它的情况下不可用。

你需要一个Python图像库( PIL ),但是现在只有PIL是不够的,你最好安装Pillow 。 这很好。