常用数据结构和函数
- Point类
Point类表示二维坐标
Point point;
point.x = 10;
point.y = 8;
Point point = Point(10,8);
Typedef Point_<int> Point2i;
Typedef Point2i Point;
Typedef Point_<float> Point2f;
- Scalar类
Scalar()表示具有4个元素的数组,在OpenCV中被大量用于传递像素值,如RGB。用几个参数写几个。
Scalar(a,b,c);//注意是按BGR的顺序
- Rect类
含有成员变量:x,y,width,height。分别为左上角点的坐标和矩形的宽和高。
常用成员函数:Size();area()返回面积;contains(Point)判断点是否在矩形内;inside(Rect)判断矩形是否在该矩形内;tl()返回左上角坐标;br()返回右下角坐标。
- cvtColor()函数
是颜色空间转换函数,可以实现RGB想HSV,HSI等颜色空间转换,也可以转换为灰度图像。
void cvtColor(InputArray src,OutputArray dst,int code,int dstCn = 0;
参数为输入图像,输出图像,颜色空间转换标识符,目标图像通道数(0表示目标图像取源图像的通道数)
下面为转灰度图
cvtColor(s,d,CV_GRAY2BGR);//opencv2
cvtColor(s,d,COLOR_GRAY2BGR);//opencv3
//注意,对于颜色空间转换,OpenCV3中的COLOR_的宏命名前缀取代了OpenCV2中的CV_。且OpenCV默认的图片通道存储顺序是BGR,不是RBG。
- Size类
Size(宽,高)
Size.width Size.height
typedef Size_<int> Size2i;
typedef Size2i Size;
来源:《哦pencv编程入门——毛星云》