首页 Python通用模块 Pillow图像几何变换transpose()翻转、rotate()旋转、transform()图像缩放方法详解
pay pay

Pillow图像几何变换transpose()翻转、rotate()旋转、transform()图像缩放方法详解

日期: 三月 17, 2023, 2:12 p.m.
栏目: Python通用模块
阅读: 292
作者: Python自学网-村长

摘要: Pillow是Python中的一个图像处理库,提供了丰富的图像几何变换操作。其中,包括图像翻转、旋转、缩放等操作。

Pillow是Python中的一个图像处理库,提供了丰富的图像几何变换操作。其中,包括图像翻转、旋转、缩放等操作。

1.图像翻转transpose()

transpose()方法用于实现图像的翻转操作。Pillow中可以通过transpose方法来实现:

from PIL import Image

# 读取图片
img = Image.open('image.jpg')

# 翻转图片
img_transpose = img.transpose(Image.FLIP_LEFT_RIGHT)  # 左右翻转
img_transpose = img.transpose(Image.FLIP_TOP_BOTTOM)  # 上下翻转

其中,Image.FLIP_LEFT_RIGHT表示左右翻转,Image.FLIP_TOP_BOTTOM表示上下翻转。img_transpose即为翻转后得到的新图像。

2.图像旋转rotate()

rotate()方法用于实现图像的旋转操作。Pillow中可以通过rotate方法来实现:

from PIL import Image

# 读取图片
img = Image.open('image.jpg')

# 旋转图片
img_rotate = img.rotate(angle)  # angle表示旋转角度,可以为负值

其中,angle表示旋转角度,可以为负值。img_rotate即为旋转后得到的新图像。

3.图像变换transform()

transform()方法用于实现图像的缩放、平移等变换操作。Pillow中可以通过transform方法来实现:

from PIL import Image

# 读取图片
img = Image.open('image.jpg')

# 缩放图片
size = (width, height)
img_transform = img.transform(size, Image.AFFINE, data)  # data为变换矩阵

# 平移图片
offset = (x, y)
img_transform = img.transform(img.size, Image.AFFINE, (1, 0, offset[0], 0, 1, offset[1]))  # 水平平移
img_transform = img.transform(img.size, Image.AFFINE, (1, 0, 0, 0, 1, offset[1]))  # 垂直平移

其中,size为缩放后的尺寸,data为变换矩阵。平移操作可以通过变换矩阵中的平移量来实现,可以分别对水平和垂直方向进行平移。

img_transform即为变换后得到的新图像。

注意,变换操作可能会导致图像失真,因此应谨慎使用。

部分文字内容为【Python自学网】原创作品,转载请注明出处!视频内容已申请版权,切勿转载!
回顶部