List item
关于scipy.misc.imread和scipy.misc.imresize被弃用后的解决方法
最近运行代码的时候出现了这个错误AttributeError: module 'scipy.misc' has no attribute 'imread'
,AttributeError: module 'scipy.misc' has no attribute 'imresize'
经过查阅资料发现是因为scipy
的版本过高导致,由于scipy
的1.3.0版本以后弃用了imread,imresize
函数的用法
解决方法1–降scipy
版本
降级到scipy==1.2.1,Pillow = 6.0.0
就可以完美解决了,降级版本代码如下:
pip install scipy==1.2.1
pip install pillow==6.0.0
解决方法2–使用新的语法形式
毕竟scipy
已经升级,降版本并不能从根本上解决问题,下边给出该函数的替代方案:
imread
原来的用法是:
imgdata = scipy.misc.imread(imgfile)
现在改为
import imageio
imgdata = imageio.imread(imgfile)
imresize
原来的用法是:
imgdata = scipy.misc.imresize(rgbdata, self.inres)
现在改为
from PIL import Image
imgdata = np.array(Image.fromarray(rgbdata).resize(self.inres))
如果提示不能找到PIL
库时,则pip
安装pillow
库即可