当前位置 博文首页 > 莫负好春光的博客:Python图像处理基本函数一(PIL库)

    莫负好春光的博客:Python图像处理基本函数一(PIL库)

    作者:[db:作者] 时间:2021-09-02 10:18

    Python图像处理基本函数一(PIL库)

    from .. import ..
    

    从某个函数库导入某个函数;例如在使用Image.open函数时,可以从PIL函数库中导入:from PIL import Image #注:也可直接使用import,但是通常为了程序的可读性加入from.

    .convert
    

    将打开的某个图像进行灰度转换并在对应路径保存,例如:
    hepburn = Image.open(‘/…/…/…/…jpg’).convert(‘L’) #注:这里的L图像处理库“PIL”的灰度化参数,L模式表示的是 图示一个8位的灰度图,RGB图为三个8位(24位)图像。

    在python中自定义函数def … 如果引用自定义函数的话,需要import 自定义函数保存文件名,例如自定义了一个grayyed的函数,在保存时保存为grayyed.py,想要使用自己自定义函数的时候,应先import grayed.另外对于自定义函数的文件路径有时需要声明一下,可以使用os.path路径声明,例如:
    import os,sys
    sys.path.append(‘flodername /’) #:注:这里可以使用绝对路径与相对路径

    thumbnail()
    

    thumbnail()函数,函数定义于PIL库内,作用是创建缩略图,thumbnail(),括号内的参数,用于指定生成后的缩略图大小,例如,创建边长为256像素的缩略图,可以写成:
    hepburn_test.thumbnail((256,256))

    Image.open(‘/../..’)
    

    该函数可用于打开某种格式的图像并存储到对应的变量名中去,例如:hepburn = Image.open(‘/…/…jpg’) #将某个jpg图像存储到hepburn这个变量中。这里需要注意的是,Image()这个函数也需要先声明,声明方法用到之前说的from import :from PIL import Image
    另外,对于打开含中文名称的文件,需要加上字符 u,例如:hepburn = Image.open(u’/…/…/赫本.jpg’)

    filename.show()
    

    该函数主要用于显示图像,其中filename指的是之前读取图像所保存的变量名,例如:赫本的图像已经被存储在了hepburn变量中,若要使用show函数进行显示,就可以写成:hepburn.show()

    filename.mode , filename.size , filename.format 
    

    分别指的是图像的类型(RGB or other),图像的大小,图像的格式(JPG or other).可以使用print函数进行打印相关信息,例如: print (hepburn.mode,hepburn.size,hepburn.format) 的打印结果为:RGB (256,256) JPEG

    save()
    

    save()函数可以用于存储/保存图片,例如要将上述的hepburn图像,存为名字是hepburn1,格式为png的图像可以写成:hepburn.save(“hepburn1.png”,”png”),这里后面的png可以省略不写,但是第一个.png不可省略,例如:hepburn.save(“hepburn1.png”,”png”) #注:在这里的保存路径默认为当前执行函数目录下。

    new()
    

    new()函数可以用于新建一个图像,例如,新建一个newhepburn,:
    newhepburn = Image.new(“RGB”,(256,256),(255,0,0))
    newhepburn.save(“newhepburn.png”,”png”)
    #注:这里的RGB为新建图像的mode,(256,256)为新建图像的大小,(255,0,0)为图片颜色,这里是指红色分量为255,绿色与蓝色分量均为0,即是一个大小为256*256的红色RGB图像。并将这个新建的图片保存到名为newhepburn的png格式文件中。

    resize()
    

    resize()函数可用于调整图像尺寸,该函数的参数为一个元组,用于指定调整后的图像大小,例如将上述新建的256256大小的newhepburn更改为128128,并将其存到名为smallerhepburn的变量中去,可以写成:
    smallerhepburn =newhepburn.resize((128,128))

    rotate()
    

    rotate()函数可用于图像的旋转,逆时针旋转括号内的角度,例如逆时针旋转hepburn 45度可以写成:
    hepburn_rotate = hepburn.rotate(45)
    #注:需要注意的是,保存的图像依然是按照原图像大小存储,并用黑色补齐旋转造成的空白区域。

    append()函数,用于添加处理列表,将append()的对象整体作为一个元素添加到原本数据列表(list)中,例如:两个列表a和b分别为:

        a = [1,2,3]
    	b=[ 4,[5,6]]
     	a.append(b)
    

    则a的输出就为:a=[1,2,3,[4,[5,6]]]
    extend()函数,同样也用于添加列表,extend处理添加操作时,将对象中的每一个元素都添加到原数据列表(list)中,例如同样处理上述的两个列表a和b时:

        a = [1,2,3]
    	b=[ 4,[5,6]]
     	a.extend(b)
    

    则a的输出就为:a=[1,2,3,4,[5,6]]

    cs