Point

二维坐标系下的整数点, 定义如下

typedef Point_<int> Point2i;
typedef Point2i Point;
typedef Point_<float> Point2f;

构造函数如下:

Point_ ()
Point_ (_Tp _x, _Tp _y)
Point_ (const Point_ &pt)
Point_ (const Size_< _Tp > &sz)
Point_ (const Vec< _Tp, > &v)

初始化示例,

Point point1;
point1.x = ;
point1.y = ;
Point point2 = Point(, );

Scalar

四个元素的数组,用于传递像素值,如BGR,如果不需要第四个参数可以不写。Scalar类等同于Scalar_<double>,Scalar_类是Vec4x的变种。

Scalar_ ()
Scalar_ (_Tp v0, _Tp v1, _Tp v2=, _Tp v3=)
Scalar_ (_Tp v0)
Scalar_ (const Vec< _Tp2, cn > &v)

Size

尺寸类,保存宽度和高度,定义如下

typedef Size_<int> Size2i;
typedef Size2i Size;

构造函数为,和常用的两个public成员变量,声明如下

Size_ ();
Size_ (_Tp _width, _Tp _height);
Size_ (const Size_ &sz);
Size_ (const Point_< _Tp > &pt); _Tp width, height;

Rect

矩形类,成员变量有:x, y, width, heigh, 分别为左上角坐标和矩形的宽和高。构造函数为:

Rect_ ()
Rect_ (_Tp _x, _Tp _y, _Tp _width, _Tp _height)
Rect_ (const Rect_ &r)
Rect_ (const Point_< _Tp > &org, const Size_< _Tp > &sz)
Rect_ (const Point_< _Tp > &pt1, const Point_< _Tp > &pt2)
_Tp     area () const

矩形的面积:width*height

 Point_< _Tp >   br () const

右下角点的坐标

bool    contains (const Point_< _Tp > &pt) const

检查点是否在矩形内部

Size_< _Tp >    size () const

矩形的尺寸

Point_< _Tp >   tl () const

左上角点的坐标

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

求矩形的交集和并集

Rect rectShift = rect + point;
Rect rectScale = rect + size;

根据位置变化量point,移动矩形;根据尺寸变化量size,扩展或缩小矩形。

常用数据结构[OpenCV 笔记12]的更多相关文章

  1. Core模块其他常用知识点[OpenCV 笔记14]

    Matx 轻量级的Mat,必须在使用前规定好大小,比如一个2x3的float型的Matx,可以声明为Matx23f Vec Vec是Matx的一个派生类,是一个一维的Matx,跟vector很相似.在 ...

  2. 图像显示 imshow()[OpenCV 笔记5]

    void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...

  3. OpenCV基本架构[OpenCV 笔记0]

    最近正在系统学习OpenCV,将不定期发布笔记,主要按照毛星云的<OpenCV3编程入门>的顺序学习,会参考官方教程和文档.学习工具是Xcode+CMake,会对书中一部分内容更正,并加入 ...

  4. 查找并绘制轮廓[OpenCV 笔记XX]

    好久没有更新了,原谅自己放了个假最近又在赶进度,所以...更新的内容是很靠后的第八章,因为最近工作要用就先跳了,后面会更新笔记编号...加油加油! 在二值图像中寻找轮廓 void cv::findCo ...

  5. 图像储存容器Mat[OpenCV 笔记11]

    IplImage 与 Mat IplImage是OpenCV1中的图像存储结构体,基于C接口创建.在退出之前必须release,否则就会造成内存泄露.在一些只能使用C语言的嵌入式系统中,不得不使用. ...

  6. 访问图像中的像素[OpenCV 笔记16]

    再更一发好久没更过的OpenCV,不过其实写到这个部分对计算机视觉算法有所了解的应该可以做到用什么查什么了,所以后面可能会更的慢一点吧,既然开了新坑,还是机器学习更有研究价值吧... 图像在内存中的存 ...

  7. 实例:图形绘制[OpenCV 笔记15]

    DrawShapes.cxx # include "DrawShapes_utils.h" #define WINDOW_NAME1 "Painting 1" ...

  8. 颜色空间转换 cvtColor()[OpenCV 笔记13]

    void cvtColor(InputArray src, OutputArray dst, ) src: 输入图像 dst: 输出图像 code: 颜色空间转换标识符 OpenCV2的CV_前缀宏命 ...

  9. 鼠标操作[OpenCV 笔记10]

    ) winname 窗口名字 onMouse 指定窗口每次鼠标事件发生的时候,被调用的函数指针.函数的原型应为void Foo(int event, int x, int y, int flags, ...

随机推荐

  1. Esper系列(八)Method Definition、Schema

    Method Definition 作用:以公共静态方法的方式去访问外部数据.   应用说明: 1.返回数据的方法必须是公共静态方法(方法参数可以有多个也可以没有): 2.如果返回一条数据或无返回数据 ...

  2. mongodb日志服务器方案

    描述 目前要做的是多台服务器上的程序日志(如订购日志,交易日志,接口是否成功等)汇总到1个mongodb服务器,每日大约1亿的量,然后有图表实时展现,和报表展现日志信息 注意: 没有把所有日志放入1张 ...

  3. Android完美解决输入框EditText隐藏密码打勾显示密码问题

    长话短说,一共有两种方法.首先你需要在布局文件里面给EditText设置一个android:inputType="numberPassword"属性.我这里默认规定密码只能是数字了 ...

  4. 模拟等待事件row lock waits

    是索引块分裂引起的锁等待,往往与enq: TX - index contention 伴随产生,enq:TX - index contention的解释. Waits for TX in mode 4 ...

  5. Windows环境下安装Ionic

    1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装即可.      Nod ...

  6. Android代码中动态设置图片的大小(自动缩放),位置

    项目中需要用到在代码中动态调整图片的位置和设置图片大小,能自动缩放图片,用ImageView控件,具体做法如下: 1.布局文件 <RelativeLayout xmlns:android=&qu ...

  7. JDK的帧--java.util包装工具库

    题词 JDK,Java Development Kit. 首先,我们必须认识到,,JDK但,但设置Java只有基础类库.它是Sun通过基础类库开发,这是唯一的.JDK书写总结的类库.从技术含量来说,还 ...

  8. java中最简单的方式新起一个线程

    启动一个线程在一个方法中启动一个线程,有两种方法第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法)第二种是,现在方法中new一个线程,然后直接调用他的 ...

  9. cocos2d-x 2.1.4学习笔记01:windows平台搭建cocos2d-x开发环境

    cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是ecli ...

  10. 删除sd卡的文件

    public static void deleteAllFile(){ String path = Environment.getExternalStorageDirectory().getAbsol ...