OpenCV 的 cv2.boundingRect() 函数是如何工作的?
Posted
技术标签:
【中文标题】OpenCV 的 cv2.boundingRect() 函数是如何工作的?【英文标题】:How does cv2.boundingRect() function of OpenCV work? 【发布时间】:2017-07-16 04:03:13 【问题描述】:我需要关于 OpenCV 的 boundingRect 的解释。我已经实现了,效果很好。请问有没有完整解释此功能的参考资料?
【问题讨论】:
你见过THIS DOC @JeruLuke :是的,我确实经历过几次。但我需要更多关于它如何在后台工作的信息。 【参考方案1】:OpenCV 的cv2.boundingRect()
函数用于在二值图像周围绘制一个近似矩形。该功能主要用于从图像中获取轮廓后突出显示感兴趣区域。
根据the documentation,有两种类型的边界矩形:
-
直边框
这里围绕轮廓 (ROI) 绘制了一个简单的矩形。正如您在文档中看到的那样,在 ROI 周围绘制了一个绿色矩形。得到相应的矩形坐标,使矩形完全包围轮廓。
-
旋转矩形
cv2.minAreaRect()
函数用于突出显示
包围轮廓的最小矩形区域。
cv2.boxPoints()
获取得到的4个角点
矩形。
np.int0()
完成将坐标从 float
转换为
integer
格式。
这些点随后用于绘制矩形。这由
文档中的红色矩形。
【讨论】:
"draw" 和 "highlight" 会不准确,因为这些函数只返回对象,但不会在图像中绘制(不过,您可以使用它们与其他函数一起执行此操作)。 我发现this 的答案很有用。你可以参考一下。它演示了 Jeru 在这里描述的内容。以上是关于OpenCV 的 cv2.boundingRect() 函数是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章