• PIL学习


    PIL学习

    目录:

    • PIL和Pillow
    • PIL的size属性
    • PIL的mode属性
    • PIL的图像转换
    • Numpy 和 PIL.Image 的联动

    参考:

    • Pillow mode https://pillow.readthedocs.io/en/stable/handbook/concepts.html#concept-modes

    归一化

    https://blog.csdn.net/weixin_49346755/article/details/127366789

    PIL和Pillow

    PIL全称:python image library。

    Pillow是PIL的分支(进化版),你可以将两者视为同一样东西。当你用pip下载pillow时使用的是pip install pillow,当你在python解释器中导入pillow时,使用的是import PIL

    在这里插入图片描述

    PIL的size属性

    我们通过size属性来查看图像的大小,图片大小可以通过size属性进行访问。

    PIL的mode属性

    PIL共有12种模式,其中常用的L模式是1通道、8位整型灰度图像,RGB是3通道、24位整型灰度图像。注意F是1通道、32位浮点型图像,对于32位浮点型数据的理解可以参看IEEE 754标准。

    请添加图片描述

    我们通过PIL.Image.open(“path”)创建PIL.Image对象,查看该对象的mode属性来查看其mode。

    PIL的图像转换

    更改mode属性即对图像的类型进行转换,如将RGB转为L,就是将彩色图片转换为了灰度图片。

    Image中mode更改

    使用convert方法进行mode参数的更改,convert中需要填写上述mode中参数。

    from PIL import Image
    image = Image.open("/home/...")
    image = image.convert("L")
    
    • 1
    • 2
    • 3

    Numpy 和 PIL.Image 的联动

    PIL.Image对象中的单个元素的类型设置比较少,没办法满足你的要求?例如我们需要将Image传入Pytorch框架进行训练,由于Pytorch框架的权重是torch.float32类型,我们就需要将输入图片中每个像素点元素的值的类型设置为float32,如果你对PIL.Image的mode类型不了解,也可以将PIL.Image对象转为numpy.ndarray类型对象处理后处理再转为PIL.Image类型。

    numpy的dtype

    numpy的dtype类似PIL.Image.mode,能够规定numpy的数据元素类型,常见的dtype如下:

    请添加图片描述

    PIL的图像可以在ImageNumpy中实现自由转换。

    from PIL import Image
    import numpy as np
    # Image 转 Numpy
    image = Image.open("/home/...")
    image = np.array(image)
    # Numpy 转 Image
    image = Image.fromarray(image)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Image中type更改

    Image中单个元素的type更改可以考虑先将其转换为Numpy,再在Numpy中指定dtype数据类型再转为Image类型。

    # 指定numpyt的dtype类型
    image = Image.open("/home/...")
    image = np.array(image)
    image = image.astype("float32")
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    超图Web许可无法访问
    剑指 Offer 14- I. 剪绳子【DP循环】
    【数据结构与算法】无重复字符的最长子串
    计算机网络
    计算机网络 应用层的考纲内容 网络应用模型 域名系统
    枚举与接口常量、类常量有什么区别?
    Word控件Spire.Doc 【段落处理】教程(十六):C#中如何设置段落前后的间距
    质量平台-方案设计
    苹果电脑专业的条形码工具iBarcoder:助力高效条形码生成,提升工作效率
    联想拯救者电脑数据恢复方法,适用于未备份者
  • 原文地址:https://blog.csdn.net/qq_43369406/article/details/127781871