scipy.misc.imresize的替换方案
错误提示
当scipy版本>=1.3.0时,导入scipy.misc.imresize会出现如下错误
AttributeError: module ‘scipy.misc’ has no attribute ‘imresize’
或
from scipy.misc import imresize
ImportError: cannot import name ‘imresize’
原因
scipy版本>=1.3.0时,scipy模块已经移除了scipy.misc.imresize
1.0.0<=scipy版本<1.3.0时,scipy模块会提示scipy.misc.imresize过时,新版本中会移除此函数
替换方案
在scipy版本==1.2.1时,调用scipy.misc.imresize,出现如下提示
DeprecationWarning: imresize
is deprecated!
imresize
is deprecated in SciPy 1.0.0, and will be removed in 1.3.0.
Use Pillow instead: numpy.array(Image.fromarray(arr).resize())
.
因此如需与早期版本scipy库中的imresize效果一致,直接使用PIL库中的resize即可。
通过调试源码进一步说明
scipy测试版本:1.2.1
在测试代码中调用scipy.misc.imresize(img, (200, 300))
其中img为numpy.ndarray类型
通过对上述代码下断点调试,最终会定位到***\scipy\misc\pilutil.py文件中的imresize函数
下面贴出imresize函数代码
@numpy.deprecate(message="`imresize` is deprecated in SciPy 1.0.0, ""and will be removed in 1.3.0.\n""Use Pillow instead: ``numpy.array(Image.fromarray(arr).resize())``.")
def imresize(arr, size, interp='bilinear', mode=None):im = toimage(arr, mode=mode) # im为PIL.Image.Image对象ts = type(size)if issubdtype(ts, numpy.signedinteger):percent = size / 100.0size = tuple((array(im.size)*percent).astype(int))elif issubdtype(type(size), numpy.floating):size = tuple((array(im.size)*size).astype(int))else:size = (size[1], size[0])func = {'nearest': 0, 'lanczos': 1, 'bilinear': 2, 'bicubic': 3, 'cubic': 3}imnew = im.resize(size, resample=func[interp]) # 调用PIL库中的resize函数return fromimage(imnew)
其中第5行中的im为PIL.Image.Image对象,
最终对图像进行resize处理代码为倒数第二行,可以看到核心函数为PIL库中的resize函数。
scipy.misc.imresize的替换方案相关推荐
- 图片操作scipy.ndimage.imread和scipy.misc.imresize
读图片str or file object--ndarray scipy.ndimage.imread(*args, **kwds) imread is deprecated! imread is d ...
- scipy.misc.imresize改为Image.resize方法
scipy.misc.imresize源码 @numpy.deprecate(message="`imresize` is deprecated in SciPy 1.0.0, " ...
- scipy笔记—scipy.misc.imresize用法(方便训练图像数据)
scipy.misc.imresize 不同于普通的reshape, imresize不是单纯的改变图像矩阵的维度,而是能将图片重采样为指定像素,这样给深度学习中训练图像数据带来方便. import ...
- scipy.misc.imresize
此函数的作用是: 对图像进行成比例放大或缩小,且归一化到0-255区间 https://blog.csdn.net/u013066730/article/details/59528939 >&g ...
- module 'scipy.misc' has no attribute 'imresize'
报错 module 'scipy.misc' has no attribute 'imresize' import scipy.misc scipy.misc.imresize(img, (im_he ...
- 不降低scipy版本解决AttributeError: module ‘scipy.misc‘ has no attribute ‘imresize‘问题
问题描述 在Tensorflow2.1.0上运行代码出现 AttributeError: module 'scipy.misc' has no attribute 'imresize' 查阅资料大多都 ...
- misc.imresize
转:https://blog.csdn.net/wenqiwenqi123/article/details/79306611 这个函数如它名字一般,就是拿来重新调整图片的形状的. 这样说比较抽象,直接 ...
- python调整图片大小reshape_scipy.misc.imresize改变图像的大小
scipy.misc.imresize( arr, size, interp='bilinear', mode=None) resize an image.改变图像大小并且隐藏归一化到0-255区间的 ...
- scipy更新后imread,imresize函数被启用,替换方案
新版本中的scipy已经不支持imread,imresize这两个函数,下面给出这两个函数的替代方案: imread 原: from scipy.misc import imread image = ...
最新文章
- 关于近期对Lucene.Net应用研究学习的总结
- Facebook 被指收集用户数据:通过照片和文本
- HttpContext(三)-Request
- gdp笔记本 linux,linux中如何使用微软鼠标的第4、5键
- CentOS7 屏保 “小火车”
- Mysql binlog 日志的三种模式
- 七牛云主机全线升级,「两大资源池」实现多云容灾
- python输出为指定编码_Python 中文编码
- android-应用签名
- 【Linux开发板学习教程】全免费超全面超详细
- 金蝶K3 运行时错误'429' ActiveX部件不能创建对象
- kali android命令大全,让你的安卓设备跑起kali——kali for android
- 如果你还是“程序员”,我劝你别创业!
- 在Jetty中快速搭建SSL
- Git GitHub GitLab 超全面学习笔记 -- 匠心之作
- 聚币网行情与套利分析
- 使用tesserocr二值化识别知网登录验证码
- 糗事百科李威: 如何基于数据构建推荐系统,助力精细化运营?
- redis之数据倾斜如何处理
- 需求跟踪系列 III - 建立需求关联最佳的方式和时间点