大家好!
对于我来说,在项目中使用的每个算法都要得到认可已经成为习惯。不久前,我实现了OpenCV库方法来检测输入帧内的轮廓,以及在检测对象周围绘制边界矩形。所以我提出了一个问题:OpenCV在调用适当的方法时实际使用的是什么算法?(我指的是cv2。findContours和cv2。boundingRect方法)
提前感谢。
根据OpenCV文档findContours使用"Suzuki, S. and Abe, K.,通过边界跟随的数字化二值图像的拓扑结构分析"
函数使用算法[Suzuki85]从二值图像中检索轮廓。
我没有找到boundingRect算法的描述,但在opencv repo中找到了这个文件
7.。直边界矩形它是一个直矩形,它不考虑物体的旋转。所以边界矩形的面积不会是最小的。它由函数cv2.boundingRect()找到。设(x,y)为矩形的左上角坐标,(w,h)为其宽度和高度。@code {. py} x, y, w h = cv2.boundingRect(问)cv2.rectangle (img, (x, y) (x + w, y + h) (0255 0), 2) @endcode
所以似乎boundingRect只是找到输入点集合的最小和最大坐标
PS抱歉我的英语很差