zoukankan      html  css  js  c++  java
  • python常用库之Pillow(PIL)的使用

    一、基本使用

    测试图片为:

    1.打开

    from PIL import Image
    
    im = Image.open("C:/Users/bingyunsky/Desktop/test.jpg")
    print(im.format, im.size, im.mode)  # 打印格式、尺寸(长、宽;pixels)、类型
    # 输出结果: JPEG (200, 200) RGB
    im.show() # 展示获取到的图片

    常用属性

    im.width  # 宽度
    im.height  # 高度
    im.size  # 尺寸(宽和高),是一个元组
    im.mode  # 模式,如RGB, RGBA, P, L等
    im.format  # 格式,如.jpg .png等
    im.readonly  # 是否只读,值为0或1
    im.category  # 类别
    im.info  # 图片的信息,是一个字典

    2.创建一张新图片

    from PIL import Image
    
    im = Image.new('RGB', (200, 160), (0, 0, 255))  # (0,0,255)可以换成'#0000FF'或者'blue',都是表示蓝色
    im.show()

    运行结果:

    3.图片的模式

    4.图片的模式转换(convert)

    from PIL import Image
    
    im = Image.open("C:/Users/bingyunsky/Desktop/test.jpg")
    print(im.mode)
    im1 = im.convert('1')
    print(im1.mode)
    # im1.show()
    im2 = im.convert('L')
    print(im2.mode)
    # im2.show()
    im3 = im.convert('P')
    print(im3.mode)
    im3.show()
    
    # 输出结果为:
    # RGB
    # 1
    # L
    # P

    convert(self, mode=None, matrix=None, dither=None, palette=WEB, colors=256): 将当前图片转换为指定的模式,并且返回转换后的图片。如果不指定模式,则选择一种能保留图片所有信息且不使用调色板的模式(通常的结果是不转换)。将彩色图像转换为灰度('L')时,使用ITU-R 601-2进行亮度转换:L = R * 299/1000 + G * 587/1000 + B * 114/1000 。将灰度('L')或真彩('RGB')转换为模式'1'时,如果dither参数为'NONE',所有大于128的值均设置为255(白色),所有其他值都设为0(黑色)。

    convert()方法有5个参数,都有默认值,根据转换的模式来传值:

    mode,图片的模式,传入需要转换的模式。部分模式之间不支持转换,代码会报错。

    matrix, 转换矩阵。传入该参数时,应该传入由浮点数构成的元组,元组长度为4或12。matrix只支持从少数模式转换成'L'或'RGB'。

    dither, 高频振动,用于控制颜色抖动。从模式'RGB'转换为'P'或从'RGB'或'L'转换为'1'时使用。可用的方法有'NONE'或'FLOYDSTEINBERG'(默认)。当提供了matrix参数时不使用此功能。

    palette, 调色板,用于控制调色板的产生。从模式'RGB'转换为'P'时使用,可用的方法有'WEB'(默认)或'ADAPTIVE'。'ADAPTIVE'表示使用自适应的调色板。

    colors, 自适应调色板使用的颜色数。当palette参数为'ADAPTIVE'时,用于控制调色板的颜色数目。默认是最大值,即256种颜色。

    更多:https://blog.csdn.net/leemboy/article/details/83792729

    https://www.jb51.net/article/196007.htm

  • 相关阅读:
    20201014-Python学习笔记7
    20201013-kali学习笔记1
    uc-devtools使用
    H5混合应用测试流程
    小米手机开启开发者选项
    appium 元素定位工具介绍
    Appium常见元素操作
    问题:error: The instrumentation process cannot be initialized. Make sure the application under test does.
    获取appPackage与appActivity方法
    app测试定位方法
  • 原文地址:https://www.cnblogs.com/zijue/p/14081722.html
Copyright © 2011-2022 走看看