使用opencv实现旋转
时间: 2024-12-21 07:28:54 浏览: 25
在OpenCV中,你可以通过`cv2.getRotationMatrix2D()`函数和`cv2.warpAffine()`函数来实现图像的旋转。以下是一个基本的示例,它会旋转图像并保持原来的尺寸:
```python
import cv2
import numpy as np
def rotate_image_opencv(img_path, angle):
# 读取图像
original_img = cv2.imread(img_path)
# 计算旋转矩阵
height, width = original_img.shape[:2]
rotation_matrix = cv2.getRotationMatrix2D((width / 2, height / 2), angle, 1)
# 执行旋转
rotated_img = cv2.warpAffine(original_img, rotation_matrix, (width, height))
return rotated_img
# 使用函数旋转图片
rotated = rotate_image_opencv('input_image.jpg', 45)
cv2.imwrite('rotated_output.jpg', rotated)
```
这里的`angle`同样是以度为单位的。如果你想保持原始比例,可以调整缩放因子。
阅读全文