opencv 取得轮廓的外界矩形后怎么得到这个外接矩形的长和宽?

Rectr0=boundingRect(Mat(contours[i]));以后怎么做呢?... Rect r0 = boundingRect(Mat(contours[i])); 以后怎么做呢? 展开
 我来答
博飞港澳台联考
高粉答主

推荐于2017-11-27 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.9万
采纳率:93%
帮助的人:1亿
展开全部
不知道你说的是两个物体,是否指虚拟合并以后的关联对象?或者仍然只是独立对象?
对于独立对象而言,分别处理即可。
对于单个物体的水平外接矩形可以通过轮廓化,自己判断轮廓顶点的坐标,分别取XY方向的最大最小值为顶点坐标。
而两个物体绑定的对象,可以按以上方法分别求出XY,再筛选出结果的最大最小值,作为顶点坐标即可。

如果不是水平矩形,则更简单。参考函数 cv.MinAreaRect2
追问
是单个轮廓的水平外接矩形。我知道用findcontours找到轮廓以后,contour中储存了轮廓的坐标,分别找到这些点中x、y坐标的最大值最小值能解决问题,但是boundingRect这个函数不是已经画出这个水平外界矩形了吗?那么这个函数里应该有长和宽吧,能不能直接调用呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式