✍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

posted @ 2021-11-26 13:25  给你骨质唱疏松  阅读(162)  评论(0编辑  收藏  举报