• Pillow:Python的图像处理库(安装与使用教程)


    在Python中,Pillow库是一个非常强大的图像处理库。它提供了广泛的图像处理功能,让我们可以轻松地操作图像,实现图像的转换、裁剪、缩放、旋转等操作。此外,Pillow还支持多种图像格式的读取和保存,包括JPEG、PNG、BMP、GIF等。

    安装Pillow

    首先,我们需要安装Pillow库。在终端或命令行中输入以下命令来安装Pillow:

    pip install pillow 
    如果您的环境中已经安装了PIL库,那么可以通过以下命令来升级到最新版本的Pillow:
    
    pip install pillow --upgrade
    Pillow库的主要模块和类
    

    Pillow库的主要模块包括Image、ImageColor、ImageDraw、ImageFont、ImageFilter等。每个模块都提供了相应的类和方法来处理图像。

    • Image模块提供了打开、操作和保存图像的方法。它包含了所有需要的图像操作函数。
    • ImageColor模块提供了用于操作RGB颜色空间的方法。
    • ImageDraw模块提供了用于在图像上绘制各种形状和文本的方法。
    • ImageFont模块提供了用于设置字体和字体大小的方法。
    • ImageFilter模块提供了一些用于对图像进行滤波处理的方法。

    下面我们将通过代码示例来演示如何使用Pillow库进行图像处理

    打开和显示图像

    首先,我们可以使用Image.open()方法打开一张图像,并使用Image.show()方法来显示图像。

    1. from PIL import Image
    2. # 打开图像
    3. img = Image.open('example.jpg')
    4. # 显示图像
    5. img.show()

    在这个例子中,我们使用Image.open()方法打开名为example.jpg的图像文件,并将其保存到img变量中。然后,我们使用img.show()方法来显示这个图像。

    图像的转换和调整

    Pillow库提供了多种用于转换和调整图像的方法。下面是一些常用的方法:

    • Image.resize(size)方法用于调整图像的大小。
    • Image.rotate(angle, expand=True)方法用于旋转图像。
    • Image.transpose(method)方法用于翻转或旋转图像。
    • Image.convert(mode='RGB')方法用于将图像转换为RGB模式。
    • Image.adjust(brightness=0, contrast=0, saturation=0, hue=0)方法用于调整图像的亮度、对比度、饱和度和色调。
    1. from PIL import Image, ImageOps, ImageFilter, ImageEnhance
    2. # 打开图像
    3. img = Image.open('example.jpg')
    4. # 调整图像大小
    5. img_resized = img.resize((300, 300))
    6. # 旋转图像
    7. img_rotated = img.rotate(45)
    8. # 翻转图像
    9. img_flipped = img.transpose(Image.FLIP_LEFT_RIGHT)
    10. # 调整亮度对比度和饱和度
    11. enhancer = ImageEnhance.Brightness(img)
    12. img_brightened = enhancer.enhance(1.5) # 提高亮度50%
    13. enhancer = ImageEnhance.Contrast(img)
    14. img_contrasted = enhancer.enhance(1.5) # 提高对比度50%
    15. enhancer = ImageEnhance.Color(img)
    16. img_colored = enhancer.enhance(1.5) # 提高饱和度50%
    17. # 显示结果
    18. img_resized.show()
    19. img_rotated.show()
    20. img_flipped.show()
    21. img_brightened.show()
    22. img_contrasted.show()
    23. img_colored.show()

    在这个例子中,我们首先使用Image.open()方法打开名为example.jpg的图像文件,并将其保存到img变量中。然后,我们使用Image.resize()方法调整图像的大小,使用Image.rotate()方法旋转图像,使用Image.transpose()方法翻转或旋转图像,使用ImageEnhance模块的Brightness()Contrast()Color()方法分别调整图像的亮度、对比度和饱和度。最后,我们使用img_xxx.show()方法来显示每个处理后的图像。

  • 相关阅读:
    jxTMS设计思想之能力扩展
    恒合仓库 - 用户管理、用户列表、为用户分配角色
    .NET 6 轻量级 WebApi 框架 FastEndpoints 入门
    C++11 新增特性
    腾讯云创建了jenkins容器,但无法访问
    Go 语言变量
    CentOs安装jdk
    【题解】自创题目题解
    Python写API
    C++ | 类继承
  • 原文地址:https://blog.csdn.net/qq_72290695/article/details/132571808