您的位置:首页 > 理论基础 > 数据结构算法

opencv学习笔记(1)----opencv常用数据结构

2017-01-28 15:43 232 查看
opencv常用数据结构有如下6类:

1.点Point类

2.尺寸Size类

3.矩形Rect类

4.颜色Scalar类

5.向量Vec类

6.Range类

1.点Point类

定义:一个包含两个整形数据成员x和y的以及一些简单成员方法的类类型
变形: 
Point2f----二维单精度浮点型点类 
Point2d----二维双精度浮点型点类 
Point3i----三维整形点类






2.尺寸Size类

定义:Size类与点Point类的表示十分类似,最主要的区别是,Size(尺寸)类的数据成员是width和 height,而Point类的数据成员是坐标点 。一般用来表示图像的大小,或者矩阵的大小。





3.矩形Rect类

定义:它有四个很重要的数据成员x,y,width,height,分别代表这个矩形左上角的坐标点和矩形 
的宽度和高度,并且Rect类提供了很实用的一些成员方法,比如说:求左上角和右下角的成员函数,等等。
构造函数1:Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height);  //指定左上角点坐标、长、宽
构造函数2:Rect_(const Point_<_Tp>& org, const Size_<_Tp>& sz);  //指定左上角坐标和尺寸Size
构造函数3:Rect_(const Point_<_Tp>& pt1, const Point_<_Tp>& pt2); //指定左上角和右下角点坐标





4.颜色Scalar类

定义:一个使用4个元素指定的特殊的Vec向量类模板的类模板 ,也就是说---Scalar颜色类---是一个特殊的向量Vec类
构造函数:
Scalar_(_Tp v0, _Tp v1, _Tp v2=0, _Tp v3=0); 

这个默认构造函数的四个参数分别表示RGB+Alpha颜色中的: 
v0---表示RGB中的------blue-----B---蓝色分量 
v1---表示RGB中的------Green----G---绿色分量 
v2---表示RGB中的------Red------R---红色分量 
v3---表示Alpha---------------------透明色分量 

5.向量Vec类

定义:可以理解为是一个“一维矩阵”。
1. 在OpenCV中没有向量(vector)结构,任何时候需要向量,都只需要一个列矩阵(如果需要一个转置或者共轭向量,则需要一个行向量)。
2 .OpenC矩阵的概念与我们线性代数课上学习的概念相比,更加抽象,这是因为线性代数中的矩阵,矩阵中的矩阵元素只能存储—数值型数据,而OpenCv不是这样的。
示例:
Vec<int,n>---就是用类型int和将向量模板类做一个实例化,实例化为一个具体的类.其中,第一个参数int--表示Vec中存储的为int类型;第二个参数n为一个整型值,表示Vec每个对象中存储n个int值,也就是---n维向量(列向量)

6.Range类

■定义:用于指定一个连续的子序列例如一个轮廓的一部分,或者一个矩阵的列空间



示例:
Mat dst = src(Range::all(),Range(0,200));//指定的src图像的区域包括图像的所有行和从第0列到第199列
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv 3D