繁体   English   中英

将图像导入python:无法导入名称“imread”

[英]Importing image to python :cannot import name 'imread'

我是 python 的新手,我想导入一个图像。

import numpy as np
from scipy.misc import imread, imsave, imresize
# Read an JPEG image into a numpy array
img = imread('Cover.jpg')
print(img.dtype, img.shape)

但我面临以下错误: cannot import name 'imread'我已经成功安装了 numpy 和 scipy。

您还需要安装 PIL (Pillow),因为这是scipy用来读取图像的:

pip install Pillow

文档中的注释:

imread 使用 Python 图像库 (PIL) 来读取图像。 以下注释来自 PIL 文档。

但是,您可能需要考虑切换到scipy.imageio.imread因为scipy.misc.imread弃用

imread 已弃用! imread 在 SciPy 1.0.0 中已弃用,并将在 1.2.0 中删除。 改用 imageio.imread

使用:

from imageio import imread

它对我有用。

显然很多人都有这个问题,解决方案是安装Pillow 也许尝试安装 Pillow 并再次运行它

sudo pip install Pillow==2.6.0

信息来源: https : //github.com/Newmu/stylize/issues/1

首先,你应该有 Pillow,之后你的 scipy 版本应该低于 1.1.0

pip install Pillow
pip install scipy==1.1.0

安装枕头

    pip3 install pillow

由于 scipy.misc 已弃用,您不能使用它而是

    from PIL import Image
    import numpy as np
    im = Image.open('hopper.jpg')
    a = np.asarray(im)
    im = Image.fromarray(a)

这将返回一个图像对象

注意:由于我的声誉不允许发表评论,所以多发布一些已经给出的建议

在最新版本的 scipy (1.3.0) 中,不推荐使用 imread、imsave、imresize 等函数。 将 scipy 从 1.3.0 降级到 1.1.0 就像一个魅力,您不仅可以使用 imread,还可以使用上述所有在大多数情况下几乎是必需的功能

降级命令:

pip install scipy==1.1.0

对我来说,当安装 1.2.1 版本的 scipy 时,这在“from scipy.misc import imsave”中起作用。

pip install scipy==1.2.1

安装 PIL - Python 图像库。 pip安装枕头

可能是您的 scipy 版本不包含 imread ( https://docs.scipy.org/doc/scipy-1.2.1/reference/generated/scipy.misc.imread.html )

比使用 imageio.imread 代替(请参阅此处对参数名称的一些更改的评论https://imageio.readthedocs.io/en/stable/scipy.html

这适用于最新版本...

from scipy.ndimage import imread

这将适用于最新版本的 scipy

from scipy.misc.pilutil import imread

更改为 imageio 将解决问题

imread is deprecated! imread is deprecated in SciPy 1.0.0, and will be removed in 1.2.0. Use imageio.imread instead

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM