Python使用scipy保存图片的一些注意点

论坛 期权论坛 脚本     
niminba   2021-5-23 02:39   1938   0

首先我们载入一张灰度图片,一般灰度图片像素为0-255.

可以发现该图片的最大像素为254,最小像素为2。一般处理图片时会转化为double类型。

我们将图片使用scipy保存为pgm格式。

然后我们重新读取该图片信息。

其像素值发生了变化,自动标准化到了0-255范围,最小值变为0,最大值变为255.

所以,使用scipy保存图像时,加上2个参数,cmin和cmax。就可以了

重新读取图片。结果正确

补充:from scipy import misc 读取和保存图片

from scipy import misc

def imread(name, flatten=False, mode=None)
    pass
"""
读取一张图片返回array,uint8,"""
def imsave(name, arr, format=None):
    pass
"""
Save an array as an image. 自动的调用将图片转成0-255范围内的
arr : ndarray, MxN or MxNx3 or MxNx4
        Array containing image values.  If the shape is ``MxN``, the array
        represents a grey-level image.  Shape ``MxNx3`` stores the red, green
        and blue bands along the last dimension.  An alpha layer may be
        included, specified as the last colour band of an ``MxNx4`` array.
"""

注意上面对图片读取和保存的函数会被弃用,使用如下代替:

import imageio
imageio.imread()
imageio.imwrite()

以上为个人经验,希望能给大家一个参考,也希望大家多多支持社区。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP