Point 二维点坐标(x,y)

typedef Point3_<int> Point3i;
typedef Point3_<float> Point3f;
typedef Point3_<double> Point3d;

Point3 3维点坐标(x,y,z)

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

Size_  尺寸(width, height)

typedef Size_<int> Size2i;
typedef Size2i Size;
typedef Size_<float> Size2f;

Rect_  矩形区域(x,y,width,height) ,(x,y)左上角坐标, 范围[x, x + width), [y, y + height)

rect = rect ± point //矩形偏移(shifting a rectangle by a certain offset)
rect = rect ± size //改变大小(expanding or shrinking a rectangle by a certain amount)
rect += point, rect -= point, rect += size, rect -= size //(augmenting operations)
rect = rect1 & rect2 //矩形交集(rectangle intersection)
rect = rect1 | rect2 //包含r1r2的最小矩形(minimum area rectangle containing rect2 and rect3 )
rect &= rect1, rect |= rect1 //(and the corresponding augmenting operations)
rect == rect1, rect != rect1 //(rectangle comparison)

RotatedRect  旋转矩形

// p中心点(不是左上角坐标),size尺寸,angle旋转角度
RotatedRect::RotatedRect(const Point2f& p, const Size2f& size, float angle)
RotatedRect rRect = RotatedRect(Point2f(,), Size2f(,), );

Matx 小矩阵

template<typename_Tp, int m, int n> class Matx {...};
typedef Matx<float, , > Matx12f;
typedef Matx<double, , > Matx12d;
...
typedef Matx<float, , > Matx16f;
typedef Matx<double, , > Matx16d;
typedef Matx<float, , > Matx21f;
typedef Matx<double, , > Matx21d;
...
typedef Matx<float, , > Matx61f;
typedef Matx<double, , > Matx61d;
typedef Matx<float, , > Matx22f;
typedef Matx<double, , > Matx22d;
...
typedef Matx<float, , > Matx66f;
typedef Matx<double, , > Matx66d; Matx33f m(, , ,
, , ,
, , );
cout << sum(Mat(m*m.t())) << endl;//Matx转化为Mat

Vec  短向量,基于Matx

template<typename_Tp, int n> class Vec : public Matx<_Tp, n, > {...};
typedef Vec<uchar, > Vec2b;
typedef Vec<uchar, > Vec3b;
typedef Vec<uchar, > Vec4b;
typedef Vec<short, > Vec2s;
typedef Vec<short, > Vec3s;
typedef Vec<short, > Vec4s;
typedef Vec<int, > Vec2i;
typedef Vec<int, > Vec3i;
typedef Vec<int, > Vec4i;
typedef Vec<float, > Vec2f;
typedef Vec<float, > Vec3f;
typedef Vec<float, > Vec4f;
typedef Vec<float, > Vec6f;
typedef Vec<double, > Vec2d;
typedef Vec<double, > Vec3d;
typedef Vec<double, > Vec4d;
typedef Vec<double, > Vec6d;

Scalar_  四维向量

template<typename_Tp> class Scalar_: public Vec<_Tp, > { ... };
typedef Scalar_<double> Scalar;

Range 范围,(start, end)

Mat m(,,CV32F);
Mat part = m(Range::all(), Range(, )); // 相当于matlab的m(:, 20 : 199)

Mat 矩阵结构

Mat img;
img.data //数据区域的指针
img.dims //矩阵维度
img.sizes //维度
img.elemSize() //每个元素占的字节空间大小,与元素类型相关,如CV_8U
img.step[] //用来计算元素地址, M.step[i] 表示所有比i大的维度所占空间大小
img.step[i] >= M.step[i+1]*img.sizes[i+1];

OpenCV常用数据类型的更多相关文章

  1. Opencv基本数据类型

    1.OpenCV中数据类型和常用数据类型对应 Mat<uchar>                            CV_8U Mat<char>            ...

  2. NoSQL初探之人人都爱Redis:(2)Redis API与常用数据类型简介

    一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些第三方的开源类库.目前最流行的就是Se ...

  3. MySQL数据库3 - MySQL常用数据类型

    一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的       ---> 数 ...

  4. 【转】NoSQL初探之人人都爱Redis:(2)Redis API与常用数据类型简介

    一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些第三方的开源类库.目前最流行的就是Se ...

  5. Mssql中一些常用数据类型的说明和区别

    Mssql中一些常用数据类型的说明和区别 1.bigint 占用8个字节的存储空间,取值范围在-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,37 ...

  6. Redis常用数据类型介绍、使用场景及其操作命令

    Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...

  7. Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)

    1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...

  8. Mysql常用数据类型

    Mysql常用数据类型 数字: 字符串: 时间:

  9. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

随机推荐

  1. java 加密工具类(MD5、RSA、AES等加密方式)

    1.加密工具类encryption MD5加密 import org.apache.commons.codec.digest.DigestUtils; /** * MD5加密组件 * * @autho ...

  2. 小妖精的完美游戏教室——人工智能,A*算法,引言

    今天也要直播魔法,求科学的! 欢迎来到小妖精Balous的完美游戏教室! 经过前两周的学习,相信米娜桑已经对状态机有所了解了呢~虽然状态机能够实现几乎所有的人工智能,但是,在实践中,你们有没有发现,自 ...

  3. 《DSP using MATLAB》Problem 7.12

    阻带衰减50dB,我们选Hamming窗 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  4. hibernate一级缓存和快照

    摘自网络: Hibernate中的一级缓存的底层是以Map形式存在的,key是主键,value是对象,所以它的泛型为Map<Serializable,Object>,key的泛型为串行化是 ...

  5. github二次认证接收短信的问题

    这两天登陆github都被提示说我账号的密码已经被归类,提醒我修改密码. 改密码的时候发现GitHub有个二次认证的功能,分别是app和sms短信认证.app这里就不讲了,我们讲一下github的短信 ...

  6. LeetCode - Word Subsets

    We are given two arrays A and B of words. Each word is a string of lowercase letters. Now, say that ...

  7. PythonStudy——三种字符串 Three strings

    # 普通字符串:u'以字符作为输出单位'print(u'abc') # 用于显示 # 二进制字符串:b'' 二进制字符串以字节作为输出单位print(b'abc') # 用于传输 # 原义字符串:r' ...

  8. hasura graphql-engine 集成zombodb

    zombodb 是一个很不错的pg 扩展,可以方便的把es 与pg 集成起来,使用方便 ,目前尽管有一些docker 镜像 但是版本都比较老,所以基于centos7 做了一个新的docker 镜像,同 ...

  9. 《Linux内核原理与设计》第五周作业

    使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 方法一:使用库函数API在屏幕上显示进程的ID 先在实验楼中打开XFCE,在目录下输入指令: vi getpid.c;新建并打开get ...

  10. 3.1 MathType上标位置调整的两种方法

    具体操作步骤如下: 1.打开MathType窗口后在工作区域中编辑好公式. 2.调整上标位置有两种方法: (1)选中要调整的上标,按下“Ctrl+↑,Ctrl+↓,Ctrl+←,Ctrl+→”进行调整 ...