opencv 图像旋转角度
时间: 2024-09-21 08:08:02 浏览: 35
在OpenCV中,图像旋转是一个常见的操作,可以使用`cv2.getRotationMatrix2D()`函数和`cv2.warpAffine()`函数来实现。首先,你需要确定旋转中心(通常是图像的中心点),然后计算旋转矩阵,最后应用这个矩阵到原始图像上。
```python
import cv2
import numpy as np
def rotate_image(image, angle, center=None, scale=1.0):
# 如果未指定中心,默认为中心像素
if center is None:
center = (image.shape[1] // 2, image.shape[0] // 2)
# 计算旋转矩阵
rotation_matrix = cv2.getRotationMatrix2D(center, angle, scale)
# 扩展边界,保持边缘像素不变
height, width = image.shape[:2]
rot_mat = np.hstack((rotation_matrix, [width, height, 0]))
rotated_image = cv2.warpAffine(image, rot_mat, (width, height), flags=cv2.INTER_LINEAR)
return rotated_image
# 使用示例
angle_degrees = 45
rotated_img = rotate_image(image, angle_degrees)
```
阅读全文