OpenCV中已知最小外接矩形获取矩形的四个顶点
时间: 2023-08-16 09:10:11 浏览: 262
精确覆盖-python opencv minarearect 生成最小外接矩形的方法
在OpenCV中,可以通过cv2.boxPoints()函数来获取最小外接矩形的四个顶点坐标。该函数需要传入最小外接矩形的中心点坐标、宽度和高度、旋转角度,然后返回四个顶点的坐标。示例代码如下:
```
import cv2
import numpy as np
# 创建一个矩形
rect = ((100, 100), (200, 100), -45)
# 获取最小外接矩形的四个顶点
box = cv2.boxPoints(rect)
box = np.int0(box)
# 绘制矩形和顶点
img = np.zeros((512, 512, 3), dtype=np.uint8)
cv2.drawContours(img, [box], 0, (0, 0, 255), 2)
for pt in box:
cv2.circle(img, tuple(pt), 5, (0, 255, 0), -1)
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,rect是最小外接矩形的描述信息,包括中心点坐标、宽度和高度、旋转角度。boxPoints()函数返回的是浮点型坐标,需要使用np.int0()函数将其转换为整型坐标。最后,可以使用cv2.drawContours()函数绘制矩形和cv2.circle()函数绘制顶点。
阅读全文