• 通过案例实战深入认识python图像处理库Pillow


    什么是Pillow

    首先我们需要了解一下PIL(Python Imaging Library),它是Python2中非常强大的图像处理标准库,但只支持到Python2.7。Pillow是在PIL的基础上创建了兼容的版本,支持最新Python 3.x,又加入了许多新特性。

    安装

    pip install pillow

    其中Image是pillow库的一个常用的模块,提供了很多图片处理的方法。

    pillow图像处理的简单使用

    图片信息显示

    from PIL import Image # 操作图片的类型
    
    
    # 加载图片
    image = Image.open('test1.jpg')
    
    
    # 打开图片
    # image.show()
    
    # 查看图像大小(宽度,高度)(6621, 4414)
    print(image.size)
    
    # # 获取模式
    print(image.mode) # RGB
    #
    # # 显示的文件的格式 JPEG
    print(image.format)
    #
    # # 图片的详细信息{'jfif': 257, nsity': (72, 72......), 
    print(image.info)
    #
    # # 保存为另一张图片(可以更改图片的格式)
    image.save('test2.bmp')
    #Python视频教程、源码、电子书、软件、解答、学习路线图、加群 924040232

    修改图片

    修改图片尺寸

    from PIL import Image, ImageFilter
    
    # 读取图片
    image = Image.open('test.jpg')
    print(image.size)
    # 修改图片的尺寸,以像素为单位)以二元组表示:(宽度,高度)
    image1 = image.resize((image.size[0]//3, image.size[1]//3))
    #
    image1.show()
    # #
    # 保存下来
    image1.save('test.jpg')

    裁剪旋转图片

    from PIL import Image, ImageFilter
    
    # 读取图片
    image = Image.open('test1.jpg')
    # 裁剪图片
    # 设置一个边缘间距[left, upper, right, lower] 左上角和右下角
    image1 = image.crop(box=(0, 0, 2000, 2000)) # 600 * 336
    image1.show()
    # 图片旋转
    image2 = image.rotate(45)
    image2.show()

    为图片添加水印

    可以为一张图片加上二维码

    from PIL import Image
    
    # 读取图片
    image = Image.open('test.jpg')
    
    # 读取粘贴的图片
    paste_image = Image.open('erweima.jpg')
    如果需要粘贴的图片较大,可以通过resize()修改一下尺寸
    image.paste(paste_image) # 默认把图片粘贴到左上角
    image.show()

    from PIL import Image
    
    # 读取图片
    image = Image.open('test.jpg')
    
    # 读取粘贴的图片
    paste_image = Image.open('erweima.jpg')
    # 也可以指定需要粘贴的位置 设置二维码位置为右下角
    position = (image.size[0] - paste_image.size[0], image.size[1] - paste_image.size[1])
    image.paste(paste_image,position)
    image.show()
    image.save("syzp.jpg")

     

    生成gif图片

    from PIL import Image
    
    images = []
    for i in range(5):
        im = Image.open('mkgif/{}.png'.format(i + 1))
        images.append(im)
    images[0].save("test.gif", save_all=True, loop=True, append_images=images[1:], duration=500)

  • 相关阅读:
    python 接口自动化测试--框架定型(六)
    python 接口自动化测试--框架整改(五)
    持续集成接口自动化-jmeter+ant+jenkins(一)
    记 suds 模块循环依赖的坑-RuntimeError: maximum recursion depth exceeded
    python 接口自动化测试(四)
    python 接口自动化测试(三)
    python 接口自动化测试(二)
    python 接口自动化测试(一)
    Jmeter 正则提取器
    python 正则提取(re模块)
  • 原文地址:https://www.cnblogs.com/hahaa/p/15913127.html
Copyright © 2020-2023  润新知