如何解决“-scipy.misc没有属性“imresize””问题

14

我有一些来自朋友的代码,他可以顺利运行,但是我遇到了

module **scipy.misc** has no attribute *imresize*

我正在搜索,安装了Pillow(PIL),scipy,scikit等库,但都没有解决问题。

我问了我的朋友,但他忘记他已经安装了什么。

4个回答

24
如果您查看许多最近版本的scipy文档,例如对于 scipy.misc.imresize 的文档, 您会在顶部找到以下行:

imresize已过时!imresize 在 SciPy 1.0.0 中已弃用,并将在 1.3.0 中删除。请改用Pillow: numpy.array(Image.fromarray(arr).resize())

如果您今天在系统上下载了scipy, 则可能下载了新版本(1.3.0), 不再支持该函数。我引用的上述文档提供了一个使用numpyPIL的代码片段,作为替代方案应该可以工作。

1
在您建议的代码中,“Image”是什么?我需要从某个地方导入它吗? - RodrikTheReader
1
Image是来自PIL主要模块(也称为分支Pillow)。使用from PIL import Image导入。 - Blckknght
6
或者安装先前可用的版本,但我不建议这样做,除非没有其他方法 - pip uninstall scipypip install scipy==1.2.2 - tsveti_iko

10

scipy.misc.imresize已经被弃用。

有两个替代方案:

  1. 如@Bickknght所指出,我们可以使用PIL(Pillow)库。

  2. from PIL import Image
    numpy.array(Image.fromarray(arr).resize())
    
  3. 使用Skimage

  4. from skimage.transform import resize
    from skimage import data
    image = data.camera()
    resize(image, (100, 100))
    

4

安装 scipy(1.2.2)即可。

pip install scipy==1.2.2

如果仍然不起作用 --> 安装pillow

pip install Pillow

scipy.misc.imresize - 调整图像大小 [需要Pillow库]

或者

help('scipy.misc.imresize')

scipy.misc.imresize = imresize(*args, **kwds)
`imresize` is deprecated!
`imresize` is deprecated in SciPy 1.0.0, and will be removed in 1.3.0.
Use Pillow instead: ``numpy.array(Image.fromarray(arr).resize())``.

Resize an image.

This function is only available if Python Imaging Library (PIL) is installed.

2
这对我很有帮助:

这对我很有帮助:

pip install scipy==1.2.2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接