zoukankan      html  css  js  c++  java
  • ✍50 图片旋转,缩放,翻转

    图片缩放, 旋转, 翻转

    1、图像的缩放

    • 图像的缩放使用resize()成员函数,直接在入参中指定缩放后的尺寸即可,示例如下:
    from PIL import Image
    #读取图像
    im = Image.open("test.jpg")
    im.show()
    #原图像缩放为128x128
    im_resized = im.resize((128, 128))
    im_resized.show()
    

    2、图像的旋转

    • 图像的旋转使用成员函数rotate(),在入参中直接指定按逆时针旋转的角度即可,示例如下:
    from PIL import Image
    #读取图像
    im = Image.open("lenna.jpg")
    im.show()
    # 指定逆时针旋转的角度
    im_rotate = im.rotate(45)
    im_rotate.show()
    

    3、图像的翻转

    • 图像的翻转使用transpose()成员函数,直接在入参中指定变换方式即可,不仅支持上下、左右翻转;也支持逆时针90、180、270等角度的旋转,效果与rotate()相同。示例如下:
    out = im.transpose(Image.FLIP_LEFT_RIGHT)  # 左右翻转
    out = im.transpose(Image.FLIP_TOP_BOTTOM)  # 上下翻转
    out = im.transpose(Image.ROTATE_90)  # 旋转90度
    out = im.transpose(Image.ROTATE_180)
    out = im.transpose(Image.ROTATE_270)
    

    测试

    • 原图

    image-20211124111734355

    • 测试
    from PIL import Image
    
    # 缩放
    # 读取图像
    img1 = Image.open('img01.png')  # 原图400*400
    img_resized = img1.resize((200, 200))
    img_resized.save("img_resized.png", "png")
    # img1.show()
    # img_resized.show()
    

    image-20211124111800641

    # 旋转
    img_rotate_90 = img1.rotate(90).save("img_rotate_90.png", "png")
    img_rotate_180 = img1.rotate(180).save("img_rotate_180.png", "png")
    img_rotate_270 = img1.rotate(270).save("img_rotate_270.png", "png")
    

    image-20211124111655075

    # 翻转
    img1.transpose(Image.FLIP_LEFT_RIGHT).save("out_l_r.png", "png")  # 左右翻转
    img1.transpose(Image.FLIP_TOP_BOTTOM).save("out_t_b.png", "png")  # 上下翻转
    # 也可以旋转
    img1.transpose(Image.ROTATE_90).save("out_90.png", "png")  # 旋转90度
    img1.transpose(Image.ROTATE_180).save("out_180.png", "png")
    img1.transpose(Image.ROTATE_270).save("out_270.png", "png")
    

    image-20211124111902497

    image-20211124112010170

  • 相关阅读:
    UUID是否会重复、UUID的生成原理
    自己动手实现一个UUID
    分布式系统唯一ID生成方案
    docker命令中的启动停止命令的使用
    执行git push出现"Everything up-to-date"
    Github提交错误:Invalid username or password. fatal: Authentication failed for
    Allure安装
    git clone 时候出现Please make sure you have the correct access rights and the repository exists.问题解决
    使用fiddler,har2case 将api参数转成yaml格式
    Fiddler怎么可以抓取https的请求包
  • 原文地址:https://www.cnblogs.com/songhaixing/p/15607343.html
Copyright © 2011-2022 走看看