编程旋转图片代码怎么写

时间:2025-01-23 12:40:12 游戏攻略

```python

from PIL import Image

def rotate_image(image_path, angle):

打开图片

image = Image.open(image_path)

旋转图片

rotated_image = image.rotate(angle)

保存旋转后的图片

rotated_image.save('rotated_image.jpg')

关闭图片

image.close()

rotated_image.close()

调用函数进行图片旋转

rotate_image('image.jpg', 90)

```

在这个示例中,我们首先导入了PIL库的Image模块。然后定义了一个名为`rotate_image`的函数,该函数接受两个参数:图片路径和旋转角度。函数内部首先使用`Image.open`方法打开图片,然后使用`rotate`方法对图片进行旋转,并将旋转后的图片保存为`rotated_image.jpg`。最后,使用`close`方法关闭图片。在调用函数时,传入图片路径和旋转角度即可完成图片的旋转。

如果你需要处理的是视频文件,可以使用OpenCV库来实现图片的旋转:

```python

import cv2

import imutils

def rotate_video(video_path, angle):

读取视频文件

video = cv2.VideoCapture(video_path)

获取视频的宽度和高度

width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))

height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))

创建一个新的视频编写器

fourcc = cv2.VideoWriter_fourcc(*'XVID')

out = cv2.VideoWriter('rotated_video.avi', fourcc, 30.0, (width, height))

while True:

ret, frame = video.read()

if not ret:

break

旋转每一帧

rotated_frame = imutils.rotate(frame, angle)

写入新的视频

out.write(rotated_frame)

释放资源

video.release()

out.release()

调用函数进行视频旋转

rotate_video('video.avi', 45)

```

在这个示例中,我们首先导入了OpenCV库。然后定义了一个名为`rotate_video`的函数,该函数接受两个参数:视频路径和旋转角度。函数内部首先使用`cv2.VideoCapture`读取视频文件,并获取视频的宽度和高度。接着创建一个新的视频编写器,并使用`imutils.rotate`方法对每一帧进行旋转。最后,将旋转后的帧写入新的视频文件。在调用函数时,传入视频路径和旋转角度即可完成视频的旋转。