opencv 常用数据结构 Mat类操作

Opencv 常用数据结构
1)Point 类
Point类数据结构表示二维坐标系的点,由坐标x,y指定的2D点,如:
Point pt;
pt.x=20,pt.y=10;
其他类型——-Point Point2d Point2f Point2i,Point3d,Point3f,Point3i

2)Rect 类
Rect 类用来表示矩形,成员有x,y,width,height,常用的成员函数:
Size()返回值Size的大小
area()返回矩形面积
contains(Point)判断点是否在矩形内
Inside(Rect)判断矩形是否在该矩形内
tr()返回左上角坐标
br()返回右下角坐标
求两个矩形的交集并集
Rect rect=rect1&rect2;
Rect rect=rect1|rect2;
3)Size类
Size表示区域大小,常用构造函数Size(int_width,int_height)
4)Scalar类
Scalar()表示具有四个元素的数组,大量用来传递像素值,如RGB颜色
Scalar(double B,double G,double R,double Alpha);
Scalar(B,G,R)


Mat 类操作
Mat 类创建
Mat img;//创建无初始化矩阵
Mat img1(20,10,CV_8UC1);//创建20行10列类型为8位的单通道矩阵
Mat img2(Size(20,10),CV_8UC3);//创建大小为20*10类型为8位的三通道矩阵
Mat img3(20,10,CV_8UC3,Scalar(0,255,0));//创建10*20的8位三通道矩阵
Mat img4(20,10,CV_8UC1,Scalar(255));//创建大小为10*20的8位单通道矩阵
Mat img5(img4);//img4赋值给img5,共享数据对象
Mat 类赋值拷贝
Mat img(100,200,CV_8UC3,Scalar(0,255,0));
Mat img2(img);//和原图像指向同一个数据块
Mat img3=img;//和原图像指向同一个数据块

Mat img4=img.clone();//原图像的副本
Mat img 5;
img.copyTo(img5);//原图像的副本


常用颜色空间
RGB颜色空间 、HSV/HLS颜色空间、Lab颜色空间
转换所用函数cvtColor(src,dst,code)
COLOR_BGR2GRAY
COLOR_BGR2HSV
COLOR_BGR2Lab;
//opencv3里面的


//opencv2
CV_BGR2GRAY
CV_BGR2HSV
CV_BGR2Lab

R/G/B取值范围[0,255]
H取值范围[0,360]
S/V取值范围[0,1]
L取值范围[0,100]
a/b取值范围[127,-128]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值