嗨,整个程序员社会!
对我来说,习惯性地承认我在项目中使用的每个算法 . 不久前,我实现了OpenCV库方法来检测输入框架内的轮廓以及在检测到的对象周围绘制边界矩形 . 所以我提出了一个问题:在调用适当的方法时,OpenCV实际使用了什么算法? (我的意思是确切的cv2.findContours和cv2.boundingRect方法)
先感谢您 .
根据OpenCV文档findContours使用“Suzuki, S. and Abe, K., Topological Structural Analysis of Digitized Binary Images by Border Following”
该函数使用算法[Suzuki85]从二进制图像中检索轮廓 .
我没有找到boundingRect算法的描述但找到了this file in opencv repo
7.a.直线边界矩形它是一个直的矩形,它不考虑对象的旋转 . 因此,边界矩形的面积不会最小 . 它由函数cv2.boundingRect()找到 . 设(x,y)为矩形的左上角坐标,(w,h)为宽度和高度 . @code x,y,w,h = cv2.boundingRect(cnt)cv2.rectangle(img,(x,y),(x w,y h),(0,255,0),2)@endcode
所以似乎boundingRect只找到输入点集的最小和最大坐标
PS抱歉我的英语不好
1 回答
根据OpenCV文档findContours使用“Suzuki, S. and Abe, K., Topological Structural Analysis of Digitized Binary Images by Border Following”
我没有找到boundingRect算法的描述但找到了this file in opencv repo
所以似乎boundingRect只找到输入点集的最小和最大坐标
PS抱歉我的英语不好