OpenCV基础类型Point类、Scalar类、Size类、Rect类

  • Point类

Point可以成为任何类型的点,如浮点型、整型等。Point类的巨大优势在于原生上并没有对它们定义很多操作,但它们可以转换成更广义的类型,在实际程序中使用时,Point类是通过类似于cv::Point2i和cv::Point3f这类别名来实例化的,这些别名的最后一个字母表示构造该点所需要的原语。

直接受Point类支持的操作

  • 默认构造函数
cv::Point2i p;
cv::Point3i p;
  • 复制构造函数
cv::Point3f p2(p1);
  • 值构造函数
cv::Point2i(x0,x1);
cv::Point3d(x0,x1,x2);
  • 成员访问
cv::Point p;
p.x 
p.y
  • 点乘/双精度点乘
float x=p1.dot(p2);
double x =p1.dot(p2);
  • 叉乘
p1.cross(p2);
  • 判断一个点是否在矩形r内
p.inside(r);

Scalar类

Scalar类支持的操作

  • 默认构造函数
cv::Scalar s;
  • 复制构造函数
cv::Scalar s2(s1);
  • 值构造函数
cv::Scalar s(x0);
cv::Scalar s(x0,x1,x2,x3);
  • 元素相乘
s1.mul(s2);

Size类

Size类在实际操作时与Point类相似,而且可以与Point类互相转换。这两者之间的主要区别在于Point类的数据成员是x和y,而size中对应的成员是width和height。

size类直接支持的操作

  • 默认构造函数
cv::Size sz;
cv::Size2i sz;
cv::Size2f sz;
  • 复制构造函数
cv::Size sz2(sz1);
  • 值构造函数
cv::Size2f sz(w,h);
  • 成员访问
sz.width;
sz.height;
  • 计算面积
sz.area();

Rect类

矩形类包含Point类的成员x和y(矩形左上角)和Size类的成员width和height(代表矩形的大小)

Rect直接支持的操作

  • 默认构造函数
cv::Rect r;
  • 复制构造函数
cv::Rect r2(r1);
  • 值构造函数
cv::Rect(x,y,w,h);
  • 由起始点和大小构造
cv::Rect(p,sz);
  • 由两个对角构造
cv::Rect(p1,p2);
  • 成员访问
r.x;
r.y;
r.width;
r.height;
  • 计算面积
r.area();
  • 提取左上角
r.tl();
  • 提取右下角
r.br();
  • 判断点p是否在矩形框r内
r.contains(p);

Rect对象的覆写操作符

  • 矩形r1和矩形r2的交集
cv::Rect r3 = r1 & r2;
r1 &= r2;
  • 同时包含矩形r1和r2的最小面积矩形
cv::Rect r3 = r1 | r2;
r1 |= r2;
  • 平移矩形 x个数量
cv::Rect rx = r + x;
r += x;

RotatedRect类

RotatedRect是以中心为原点,而Rect是以左上角为原点的。

RotatedRect直接支持的操作

  • 默认构造函数
cv::RotatedRect rr();
  • 复制构造函数
cv::RotatedRect rr2(rr1);
  • 从两个点构造
cv::RotatedRect(p1,p2);
  • 值构造函数,需要一个点,一个大小和一个角度
cv::RotatedRect rr(p,se,theta);
  • 成员访问
rr.center;
rr.size;
rr.angle;
  • 返回四个角的列表
rr.points(pts[4]);

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值