OpenCV的Rect矩形类

构造函数 Rect(x,y,width,height),x, y 为左上角坐标, width, height 则为长和宽。

1、案例:创建一个Rect对象rect(100, 50, 50, 100)
      rect.area();     //返回rect的面积 5000
      rect.size();     //返回rect的尺寸 [50 × 100]
      rect.tl();       //返回rect的左上顶点的坐标 [100, 50]
      rect.br();       //返回rect的右下顶点的坐标 [150, 150]
       rect.width();    //返回rect的宽度 50
      rect.height();   //返回rect的高度 100
      rect.contains(Point(x, y));  //返回布尔变量,判断rect是否包含Point(x, y)点

2、两个矩形的交集和并集
  

rect = rect1 & rect2;
  rect = rect1 | rect2;

3、平移和缩放 

 rect = rect + Point(-100, 100);	//平移,也就是左上顶点的x坐标-100,y坐标+100
 rect = rect + Size(-100, 100);	  //缩放,左上顶点不变,宽度-100,高度+100

4、对矩形进行对比,返回布尔变量
      rect1 == rect2;
      rect1 != rect2;

5、围绕矩形中心缩放
     Rect rectCenterScale(Rect rect, Size size)
     {
       	rect = rect + size;	
	    Point pt;
	    pt.x = cvRound(size.width/2.0);
	     pt.y = cvRound(size.height/2.0);
     	return (rect-pt);
    }
 
6、获取矩形中心点
       Point getCenterPoint(Rect rect)
      {
     	Point cpt;
     	cpt.x = rect.x + cvRound(rect.width/2.0);
    	cpt.y = rect.y + cvRound(rect.height/2.0);
     	return cpt;
        }

7、判断rect1是否在rect2里面的功能
      bool isInside(Rect rect1, Rect rect2)
     {
     	return (rect1 == (rect1&rect2));
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值