opencv中Rect类的神奇用法

来源:互联网 发布:java byte二维数组 编辑:程序博客网 时间:2024/05/19 02:05

最近发现opencv中的Rect类非常神奇,其中很多函数使用起来极其方便。一下列举一些比较实用的函数:

  1. size()函数返回矩形的尺寸大小。返回类型为cv::Size。
  2. area()函数返回矩形的面积,也就是矩形包含的像素点个数。也就是矩形的(宽*高)的值。
  3. contains(Point)能检测点是否在矩形内。
  4. inside(Rect)检测矩形是否在矩形内。
  5. tl()返回矩形左上角的点坐标。即top-left。
  6. 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;     //改变尺寸大小


1 1
原创粉丝点击