• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论
文章目录[隐藏]

在想把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()<i style="color:transparent">本文来源gaodai$ma#com搞$代*码6网</i>
imageio.imsave('face.png', f)
plt.imshow(f)
plt.show()

输出

以上为个人经验,希望能给大家一个参考,也希望大家多多支持搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在import scipy.misc 后找不到 imsave的解决方案

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址