1. //如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能:
  2. rect.area(); //返回rect的面积 5000
  3. rect.size(); //返回rect的尺寸 [50 × 100]
  4. rect.tl(); //返回rect的左上顶点的坐标 [100, 50]
  5. rect.br(); //返回rect的右下顶点的坐标 [150, 150]
  6. rect.width(); //返回rect的宽度 50
  7. rect.height(); //返回rect的高度 100
  8. rect.contains(Point(x, y)); //返回布尔变量,判断rect是否包含Point(x, y)点
  9. //还可以求两个矩形的交集和并集
  10. rect = rect1 & rect2;
  11. rect = rect1 | rect2;
  12. //还可以对矩形进行平移和缩放
  13. rect = rect + Point(-100, 100); //平移,也就是左上顶点的x坐标-100,y坐标+100
  14. rect = rect + Size(-100, 100); //缩放,左上顶点不变,宽度-100,高度+100
  15. //还可以对矩形进行对比,返回布尔变量
  16. rect1 == rect2;
  17. rect1 != rect2;
  18. //OpenCV里貌似没有判断rect1是否在rect2里面的功能,所以自己写一个吧
  19. bool isInside(Rect rect1, Rect rect2)
  20. {
  21. return (rect1 == (rect1&rect2));
  22. }
  23. //OpenCV貌似也没有获取矩形中心点的功能,还是自己写一个
  24. Point getCenterPoint(Rect rect)
  25. {
  26. Point cpt;
  27. cpt.x = rect.x + cvRound(rect.width/2.0);
  28. cpt.y = rect.y + cvRound(rect.height/2.0);
  29. return cpt;
  30. }
  31. //围绕矩形中心缩放
  32. Rect rectCenterScale(Rect rect, Size size)
  33. {
  34. rect = rect + size;
  35. Point pt;
  36. pt.x = cvRound(size.width/2.0);
  37. pt.y = cvRound(size.height/2.0);
  38. return (rect-pt);
  39. }
 转载自:https://blog.csdn.net/kh1445291129/article/details/51149849

Opencv中rect的功能应用相关推荐

  1. OpenCV 中的绘制功能

    本文主要内容来自于 OpenCV-Python 教程 的 OpenCV 中的 GUI 功能 部分,这个部分的主要内容如下: 图像操作入门 学习加载一幅图像,显示它,并保存它 视频入门 学习播放视频,从 ...

  2. OpenCV中的绘图功能 | 七

    目标 学习使用OpenCV绘制不同的几何形状 您将学习以下功能:cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等. 代码 ...

  3. Opencv中Rect类

    Rect类成员变量x.y.width.height,分别为左上角点的坐标和矩形的宽和高. 如果创建一个Rect对象rect(100, 50, 50, 100) Rect rect(100, 50, 5 ...

  4. OpenCV中的数值计算功能(一)矩阵求逆(伪逆)

    double invert(InputArray src, OutputArraydst, int flags=DECOMP_LU); 功能:用以求取一个矩阵的逆或者伪逆. src: 输入,浮点型(3 ...

  5. 关于Opencv中Rect和Rectangle函数

    1)构造函数 Rect(x,y,width,height),x, y 为左上角坐标, width, height 则为长和宽. 2)方法 contain(Point) 可返回改点是否在矩形内. 3)方 ...

  6. python中rect用法_【opencv基础】Rect类的神奇用法

    前言 最近看github上源码发现对两个cv::Rect使用相与(&)操作,猛地感觉自己蒙啦,Rect类还有这种神奇用法?!翻看opencv官网Rect类,果然如此! opencv中Rect类 ...

  7. OpenCV中的GUI特性 —— 绘图+鼠标画笔+轨迹栏调色板

    OpenCV中的GUI特性 -- 绘图+鼠标画笔+轨迹栏调色板 这一部分内容主要包括OpenCV的绘图函数.鼠标回调函数与画图的结合和轨迹栏的使用,绘图函数的传参是关键,鼠标回调函数也是一个相当重要的 ...

  8. python基于opencv的手势识别_怎么在Python3.5 中利用OpenCV实现一个手势识别功能

    怎么在Python3.5 中利用OpenCV实现一个手势识别功能 发布时间:2020-12-22 11:56:32 来源:亿速云 阅读:67 作者:Leah 怎么在Python3.5 中利用OpenC ...

  9. OpenCV中initUndistortRectifyMap函数存在bug原因探究

    原文首发于公众号「3D视觉工坊」:OpenCV中initUndistortRectifyMap函数存在bug原因探究. 最近在运行如下一段代码时,生成的mapx和mapy有点异常. 代码片段如下: # ...

最新文章

  1. EXCEL自定义的应用
  2. Cocos Creator快速开通联网服务教程
  3. 【直播资料下载】Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲...
  4. c#编译器对byte类型的一些规则 (转)
  5. WINCE5.0+2443 camera中断不能进来的原因
  6. SAP CRM 产品主数据和附件(Attachment)的模型关系
  7. JMeter入门(3):录制JMeter脚本
  8. java 设置头错误信息,错误:在node.js中发送标头后无法设置标头
  9. Java LocalDate类| lengthOfYear()方法和示例
  10. 编译OpenJDK8:get_msc_ver.sh:需要整数表达式/integer expression expected
  11. 使用selenium爬验证码图片并识别
  12. 苹果电脑关于命令行的操作
  13. ESP8266-Arduino编程实例-SHT40温湿度传感器驱动
  14. 常用的即时通讯软件排行榜TOP10介绍
  15. Nginx 转发配置
  16. 计算机本科毕业后还可以当音乐人吗,我想考计算机研究生 但是我音乐鉴赏不及格拿可能不到毕业证 那我还能报考研究生吗?...
  17. (二十七)张量表示定理 —— Cauchy 基本表示定理
  18. perl代码实现DNA翻译蛋白序列
  19. java毕业设计校园快递柜存取件系统mybatis+源码+调试部署+系统+数据库+lw
  20. R语言 lars包 lars()函数中文帮助文档(中英文对照)

热门文章

  1. Linux(四)——CROND和磁盘分区与挂载
  2. bootloader学习笔记---第二篇
  3. IR-61|1895075-34-9|七甲川吲哚类花菁染料near-infrared fluorophore
  4. linux下caffe编译以及python环境配置手记
  5. 网易笔试001(HR之声)
  6. 入门级node+uni-app开发即时通讯聊天室(3)用户的搜索以及好友添加(二)
  7. 使用SAP的中国公司
  8. JavaScript2谁刚开始学习应该知道4最佳实践文章(翻译)
  9. springCloud sentinel 流量卫兵
  10. 【VUE项目实战】68、使用pm2管理项目