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即为变换后得到的新图像。
注意,变换操作可能会导致图像失真,因此应谨慎使用。