【Python-DEBUG】AttributeError module ‘scipy.misc‘ has no attribute ‘imresize‘ / ‘imsave‘ / ‘imread‘

如题,调试程序过程报错:

module 'scipy.misc' has no attribute 'imresize'

​
module 'scipy.misc' has no attribute 'imsave'

​
module 'scipy.misc' has no attribute 'imread'

使用pip listconda list发现环境内scipy的版本为v1.1.0。然后通过scipy官方文档了解到im***系列方法在v1.0.0后已被scipy弃用。为保证依赖库版本不变,避免影响其他代码的正常运行,我们使用PIL.Imageimageio等对imresize()/imsave()/imread()等几个常用方法进行有效替换,示例代码如下:

imresize

from scipy import misc
I = np.asarray(Image.open(test_directory_dslr + str(i) + '.jpg'))  # original
I = misc.imresize(I, DSLR_SCALE / 2, interp='bicubic')  # original

from PIL import Image
I = Image.open(test_directory_dslr + str(i) + '.jpg')
size = tuple((np.array(I.size) * DSLR_SCALE / 2).astype(int))
I = np.array(I.resize(size, resample=Image.BICUBIC))  # 注意此处interp='bicubic'到resample=Image.BICUBIC的替换

imsave

from scipy import misc
misc.imsave("img.jpg", img_data)  # original


import imageio
imageio.imwrite("img.jpg", img_data)

imread

>>> import imageio
>>> img = imageio.imread('img.jpg')
>>> img.dtype
dtype('uint8')
>>> imageio.imwrite('img_saved.jpg', img)
>>> img_read = imageio.imread('img_saved.jpg')
>>> img_read.dtype
dtype('uint8')

参考文献

[1] https://docs.scipy.org/doc/scipy-1.2.0/reference/generated/scipy.misc.imsave.html#scipy.misc.imsave

[2] https://stackoverflow.com/questions/57414277/alternative-to-scipy-misc-imresize 

[3] https://github.com/tensorlayer/srgan/pull/179

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值