App下載

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

猿友 2021-07-30 11:38:41 瀏覽數(shù) (3805)
反饋

我們在使用scipy的時候有時候還需要依賴一些其他的第三方包。比如在SciPy使用misc功能時候,有些小伙伴會遇到SciPy找不到imsave的情況,這種情況就是缺少第三方包的情況,接下來看小編是如何解決的吧。

案例分析

在想把CIFAR-10 的16進制數(shù)據(jù)轉(zhuǎn)為圖像的時候需要用到imsave(),但是在import scipy.misc 之后顯示該庫內(nèi)沒有imsave()

后來發(fā)現(xiàn)還需要安裝 Pillow這個包

解決:

pip install Pillow

原因分析:

在安裝Pillow之前,通過dir(scipy.misc) 可以查看里面的包,然后發(fā)現(xiàn)找不到imsave()函數(shù)

安裝Pillow之后,再次查看就能發(fā)現(xiàn)多了很多函數(shù),其中包括imsave(), imread()

Pillow是python的一個十分強大的圖像處理庫,imsave之類的圖像處理函數(shù)應該是屬于Pillow庫的

導入的時候需要輸入 import PIL,但是此時調(diào)用imsave是找不到的

這種安裝包還會在其他庫內(nèi)導入新的函數(shù)的行為是第一次發(fā)現(xiàn)。

補充:解決module scipy.misc has no attribute imsave報錯辦法

當我們想要打開scipy.misc.imsave()包中的圖像,出現(xiàn)了這樣的報錯怎么做

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()

輸出

輸出結(jié)果

以上就是scipy找不到imsave的解決方案,希望能給大家一個參考,也希望大家多多支持W3Cschool


0 人點贊