在Python中,旋转图像可以通过多种方法实现,以下是几种常用的方法:
方法一:使用PIL库(Python Imaging Library)
1. 安装PIL库(如果尚未安装):
pip install pillow
2. 导入库并加载图像:
from PIL import Image
image_path = "image.jpg" 图像文件路径
image = Image.open(image_path) 打开图像
3. 旋转图像:
rotated_image = image.rotate(angle) 旋转图像,angle是旋转角度
4. 保存旋转后的图像:
rotated_image.save("rotated_image.jpg") 保存旋转后的图像
方法二:使用OpenCV库
1. 安装OpenCV库(如果尚未安装):
pip install opencv-python
2. 导入库并读取图像:
import cv2
image = cv2.imread("image.jpg") 读取图像
3. 旋转图像:
(height, width) = image.shape[:2]
center = (width // 2, height // 2) 旋转中心
radian = math.radians(angle) 将角度转换为弧度
rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0) 获取旋转矩阵
rotated_image = cv2.warpAffine(image, rotation_matrix, (width, height)) 应用旋转矩阵
4. 保存旋转后的图像:
cv2.imwrite("rotated_image.jpg", rotated_image) 保存旋转后的图像
方法三:使用NumPy库
1. 导入库:
import numpy as np
2. 读取图像并转换为NumPy数组:
image = cv2.imread("image.jpg")
image_array = np.array(image)
3. 旋转图像:
image_array = np.rot90(image_array, k=1) k表示旋转次数,1表示90度旋转
4. 将旋转后的NumPy数组转换回图像:
rotated_image = cv2.cvtColor(image_array, cv2.COLOR_BGR2RGB) 根据原始图像的通道顺序调整
5. 保存旋转后的图像:
cv2.imwrite("rotated_image.jpg", rotated_image) 保存旋转后的图像
以上是使用Python进行图像旋转的三种常用方法。您可以根据需要选择合适的方法进行操作。