Art*_*nov 5 numpy scipy python-3.x scikit-image
我想使用一个仍旧使用的旧脚本,该脚本scipy.misc.imresize()不仅已弃用,而且已从scipy中完全删除。相反,开发人员建议使用numpy.array(Image.fromarray(arr).resize())或skimage.transform.resize()。
不再起作用的确切代码行是这样的:
new_image = scipy.misc.imresize(old_image, 0.99999, interp = 'cubic')
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不确定现在到底能做什么。恐怕如果我开始使用旧的scipy版本,我的新脚本将停止工作。我一直在使用它作为模糊滤镜的一部分。如何执行numpy.array(Image.fromarray(arr).resize())或skimage.transform.resize()执行与上述代码行相同的操作?很抱歉,我提供的信息不足。
编辑
我已经能够确定这条线的作用。它从此转换图像数组:
[[[0.38332759 0.38332759 0.38332759]
[0.38770704 0.38770704 0.38770704]
[0.38491378 0.38491378 0.38491378]
...
Run Code Online (Sandbox Code Playgroud)
对此:
[[[57 57 57]
[59 59 59]
[58 58 58]
...
Run Code Online (Sandbox Code Playgroud)
编辑2
当我使用jhansens方法时,输出为:
[[[ 97 97 97]
[ 98 98 98]
[ 98 98 98]
...
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办scipy.misc.imresize。
jde*_*esa 13
您可以查找已弃用函数的文档和源代码。简而言之,使用Pillow ( Image.resize) 您可以:
im = Image.fromarray(old_image)
size = tuple((np.array(im.size) * 0.99999).astype(int))
new_image = np.array(im.resize(size, PIL.Image.BICUBIC))
Run Code Online (Sandbox Code Playgroud)
使用skimage ( skimage.transform.resize) 你应该得到相同的:
size = (np.array(old_image.size) * 0.99999).astype(int)
new_image = skimage.transform.resize(old_image, size, order=3)
Run Code Online (Sandbox Code Playgroud)
小智 6
imresize 现在已弃用!
imresize 在 SciPy 1.0.0 中已弃用,并将在 1.3.0 中删除。改用枕头:
numpy.array(Image.fromarray(arr).resize())。
from PIL import Image
resized_img = Image.fromarray(orj_img).resize(size=(new_h, new_w))
Run Code Online (Sandbox Code Playgroud)