在import scipy.misc 后找不到 imsave的解决方案

Laura ·
更新时间:2024-11-10
· 853 次阅读

在想把CIFAR-10 的16进制数据转为图像的时候需要用到imsave(),但是在import scipy.misc 之后显示该库内没有imsave()

后来发现还需要安装 Pillow这个包

解决: pip install Pillow 原因分析:

在安装Pillow之前,通过dir(scipy.misc) 可以查看里面的包,然后发现找不到imsave()函数

安装Pillow之后,再次查看就能发现多了很多函数,其中包括imsave(), imread()

Pillow是python的一个十分强大的图像处理库,imsave之类的图像处理函数应该是属于Pillow库的

导入的时候需要输入 import PIL,但是此时调用imsave是找不到的

这种安装包还会在其他库内导入新的函数的行为是第一次发现。

补充:解决module scipy.misc has no attribute imsave报错办法

当我们想要打开scipy.misc.imsave()包中的图像,出现了这样的报错怎么做

from scipy import misc import matplotlib.pyplot as plt f = misc.face() misc.imsave('face.png', f) # uses the Image module (PIL) plt.imshow(f) plt.show() Traceback (most recent call last): File "D:/pycharm/pycharm_project/Numpy Matplotlib scipy/scipy图像处理.py", line 4, in <module> misc.imsave('face.png', f) # uses the Image module (PIL) AttributeError: module 'scipy.misc' has no attribute 'imsave' 处理方法:

这里需要用到另外一种打开方法:

import imageio imageio.imsave() # 例 from scipy import misc import imageio import matplotlib.pyplot as plt f = misc.face() imageio.imsave('face.png', f) plt.imshow(f) plt.show()

输出

以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。



import 解决方案 scipy

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Tricia 2020-10-13
661