关于Mat的类的总结

Scalar 类

Scalar定义的事颜色,彩色,对应RGB三个通道,所以形式为Scalar(R,G,B)。注意是首字母大写,还有括号。还有一种用法是Scalar::all(0),全部都是0,或者其他,自己改变数值

Size类

Size是尺寸,顾名思义就是长和宽,所以两个参数。一半两个以上数据就要括号。C++有个函数求字节的事sizeof(),注意区别

Rect类,矩形类

需要起始坐标x,y,宽,和高。Rect(x,y,width,height)

cvtColor函数,其他看P100

其他小类看书,颜色转换。输入输出图片,还有转换类型,还有一个通道数,一般可以忽略。cvtColor(scrImage,dstImage,CV_RGB2GTAY)

Mat类常用初始化或者复制

1.Mat()构造函数,这告诉尺寸长和宽,还有通道的类型,如果是彩色还有颜色等等。如Mat m(640,420,CV_8UC3,Scalar(225,102,255));这里通道是三通道颜色,所以要看颜色。
2.zeros,eye,ones等。需要告知尺寸和通道类型。
M E=Mat::eye(4,4,CV_64F);
M E=Mat::zeros(4,4,CV_64F);
M E=Mat::ones(4,4,CV_64F);
3.复制的形式。
Scr.copyTo(dst);
Mat dstClone=Scr.clone();
image.copyTo(imageROI)。作用是把image的内容复制粘贴到imageROI上;mage.copyTo(imageROI,mask)。 作用是把mask和image重叠以后把mask中像素值为0(black)的点对应的image中的点变为透明,而保留其他点
其他,不怎么常用还很奇怪,比如:
C++构造,超过二维???
int sz[3]={2,2,2};
Mat L(3,sz,CV_8UC,Scalar::all(0));

Mat输出风格

全部输出的话,不用遍历,直接cout<<M;就行。
其他风格:cout<<format(M,“Formatter::FMT_PYTHON”);旧版是format(M,’‘python’’);

Point 类型

Point p(6,4)括号后面直接跟坐标。做参数的时候Point (20,23)

vector类型

std::vector是一个无线长的向量,是一个容器,像堆栈一样不断放进去,要说明每一个数都是什么类型。
定义:vector < float > v;
放数据进去用:v.push.back(3);如果看成举证的话可以看成是单列的。一个数一个分号,即尾部插入数字:vec.push_back(a);
其全部函数使用参考:http://www.cnblogs.com/shrimp-can/p/5280566.html
1.基本操作
(1)头文件#include< vector>.
(2)创建vector对象,vector< int > vec;
(3)尾部插入数字:vec.push_back(a);尾部移除数字:vec.pop_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。这种没有边界检查,可能会移除。另外一种会有边界检查,用at(),vec.at(7),会有边界检查,不会抛出。
(5)使用迭代器访问元素.
vector::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;
(6)插入元素:**vec.insert(vec.begin()+i,a);**在第i+1个元素前面插入a;
(7)删除元素:**vec.erase(vec.begin()+2);**删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(8)向量大小:vec.size();
(9)清空:vec.clear();
以上vector内容以及vector成员函数参考:https://blog.csdn.net/mikasoi/article/details/90648829

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值