opencv最小外接矩形获得角度后怎么纠偏python
时间: 2023-10-20 20:06:50 浏览: 119
可以使用cv2.warpAffine函数来实现图像的纠偏。具体步骤如下:
1. 使用cv2.minAreaRect函数获得最小外接矩形的中心点、大小和旋转角度。
2. 使用cv2.getRotationMatrix2D函数获得旋转矩阵。
3. 使用cv2.warpAffine函数对图像进行旋转,将旋转矩阵和图像作为参数传入即可。
示例代码如下:
```
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg')
# 灰度化处理
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 边缘检测
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 查找轮廓
contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓
for contour in contours:
# 获得最小外接矩形
rect = cv2.minAreaRect(contour)
center, size, angle = rect
# 获得旋转矩阵
M = cv2.getRotationMatrix2D(center, angle, 1)
# 进行旋转
rotated = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))
# 显示旋转后的图像
cv2.imshow('Rotated Image', rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文