一些比较实用的函数:
size()函数返回矩形的尺寸大小。返回类型为cv::Size。
area()函数返回矩形的面积,也就是矩形包含的像素点个数。也就是矩形的(宽*高)的值。
contains(Point)能检测点是否在矩形内。
inside(Rect)检测矩形是否在矩形内。
tl()返回矩形左上角的点坐标。即top-left。
br()返回矩形右下角点坐标。即bottom-right。
如果要求两个矩形的交集与并集,opencv的Rect类提供了非常方便的方式
Rect rect = rect1 & rect2;
Rect rect = rect1 | rect2;
如果想将Rect平移,可以这样写:
Rect r1(0, 0, 5, 5);
Point p(2, 3);
Rect r2 = r1 + p; //平移
如果想改变矩形的尺寸大小,可以这样写:
Rect r1(0, 0, 5, 5);
Size s(-1, -1);
Rect r2 = r1 + s; //改变尺寸大小