zoukankan      html  css  js  c++  java
  • 【Python开发】python PIL读取图像转换为灰度图及另存为其它格式(也可批量改格式)

    例如有一幅图,文件名为“a.jpg’. 
    读取:

    from PIL import Image #或直接import Image
    im = Image.open('a.jpg')

    将图片转换成灰度图

    :im1 = im.convert('L') 

    所以

    打开图片并转换成灰度图的方法是:

    im = Image.open('a.jpg').convert('L)

    转换图像格式:

    im.save('aa.gif')

    以上代码把a.jpg 打开并转换成灰度图(像素值在0-255之间),然后保存成aa.gif格式。可以把上一行代码中‘aa.gif'改成路径加文件名,就可以保存到自己想要保存的地方了。

    批量转换图像格式

    列表a中会把图片名无序存储 a = [ ‘aa.gif’,[..],..],全是字符串。当然以上命令不仅可以用在这里,其它地方也是一样的,获得当前路径b下边所有的内容。 

    下面将创建一个包含文件夹中所有图像文件名的文件名列表:

    import os
    def get_path(path):
        '''返回目录中所有JPG图像的文件名列表'''
        return [os.path.join(path,f) for f in os.listdir(path) if f endswith('.jpg')]

    做其它使用,只要在上述代码稍做改动就可以。如去掉后边的if 语句,则返回所有格式的文件名。如调用

    pth = [‘b/aa.gif’,[..],..]的内容,这就是path.join的作用。 

    然后将文件名列表pth中读取所有文件,并换成JPEG格式:

    from PIL import Image
    import os
    for img in pth:
        outfile = os.path.splitext(img)[0] + '.jpg'
        if img != outfile:
            try:
                Image.open(img).save(outfile)
            except IOError:
                print 'can not convert ',img

    图像不论是什么格式,除了后缀变为’jpg’,上述代码的新文件名和原文件名相同。

  • 相关阅读:
    [Windows]使用nmake命令
    正则表达式
    随机读取数据库
    常用正规表达式应用(收集于网络)
    javascript中使用正则表达式(替换应用)
    摘自网络"浅析UpdatePanel的partial render原理"
    css样式制作相册例子(摘自网络)
    javascript正则表达式常规用法(摘自网络)
    asp.net下的正规表达式替换
    摘自网络创业失败的10个教训(上)
  • 原文地址:https://www.cnblogs.com/huty/p/8517928.html
Copyright © 2011-2022 走看看