opencv 计算旋转矩形框旋转角度
时间: 2025-03-03 09:08:12 AIGC 浏览: 118
### 使用 OpenCV 计算旋转矩形框的旋转角度
为了计算 OpenCV 中 `cv::RotatedRect` 对象的旋转角度,可以利用该对象自带的角度属性。具体来说,`cv::RotatedRect` 类有一个名为 `angle` 的成员变量,它表示矩形相对于水平轴逆时针方向的旋转角度[^2]。
下面是一个完整的 Python 代码示例来展示如何获取并打印这个角度:
```python
import cv2
import numpy as np
def get_rotated_rect_angle(contour):
# 获取最小面积外接矩形
rect = cv2.minAreaRect(contour)
# 提取旋转角
angle = rect[2]
# 如果宽度小于高度,则调整角度范围到 [-90, 0)
if abs(angle) > 45:
angle = -(90 + angle)
return angle
# 创建一个简单的轮廓用于测试
contours = [np.array([[[10, 10]], [[10, 30]], [[50, 30]], [[50, 10]]], dtype=np.int32)]
for contour in contours:
angle = get_rotated_rect_angle(contour)
print(f"The rotated rectangle's angle is {angle} degrees.")
```
这段程序定义了一个函数 `get_rotated_rect_angle()` 来接收一个轮廓作为输入参数,并返回其对应的旋转矩形框的角度值。对于某些情况下得到的角度可能不在预期范围内的情况进行了处理,使得最终输出的角度始终处于合理的区间内[^3]。
阅读全文
相关推荐


















