```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`方法对每一帧进行旋转。最后,将旋转后的帧写入新的视频文件。在调用函数时,传入视频路径和旋转角度即可完成视频的旋转。