scipy.misc模块被取消&&PIL报错 OSError: cannot write mode F as JPEG

一开始用scipy.misc各种报错,不能用imread,save等等,是因为新的版本里面取消了这些函数,可以用pillow PIL代替

from scipy.misc import imread

用如下代替

from imageio import imread

imresize的处理方法

from scipy.misc import imresize
return imresize(image_array, size)

用如下代替

from PIL import Image
return np.array(Image.fromarray(image_array).resize(size))

官方给出的解释:

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

原来:

import scipy.misc as sm
sm.toimage(image).save(imageName)

后来:

from PIL import Image
im = Image.fromarray(image)
im.convert('RGB').save(imageName,format = 'jpeg')

注意:一定要写convert 不然就一直报错cannot write mode F as JPEG或者keyerror

PIL能处理的图片类型

模式
1             1位像素,黑和白,存成8位的像素
L             8位像素,黑白
P             8位像素,使用调色板映射到任何其他模式
RGB           3×8位像素,真彩
RGBA          4×8位像素,真彩+透明通道
CMYK          4×8位像素,颜色隔离
YCbCr         3×8位像素,彩色视频格式
I             32位整型像素
F             32位浮点型像素

你可能感兴趣的:(python坏得很,我信你个鬼)