Mat::eye 斜对角矩阵
Mat::eye(int rows,int cols,int type)
Mat::eye(Size size,int type)
//参数
//rows 行
//cols 列
//size (行,列)使用:3x3的矩阵cv::Size size(3,3);
//type 矩阵数据类型为整形
Mat::create 重新分配矩阵数据
Mat::create(int rows,int cols,int type)
Mat::create(Size size,int type)
Mat::create(int ndims,const int* sizes,int type)
//参数说明
//rows 行
//cols 列
//type 类型
//size (行列
//ndims 矩阵维数
//sizes 2维数组,定义矩阵行列a[2]={3,4}
)
Mat::resize(size_t sz) 更改矩阵行数
Mat::resize(size_t sz)
//参数说明
//sz行数
Mat::reshape()更改矩阵行数
Mat::reshape(int cn,int rows=0)
//cn 通道个数,0表示不变
//rows 行数数 ,0表示不变
Mat::push_back() 在下方拼接矩阵
Mat::push_back(cv::Mat a)
//拼接在下方的矩阵,列数一样
cv::Rect()矩形
cv::Rect(x,y,w,h)
//x,y左上角位置坐标
//w宽,h高
方法
.area() //求面积
.width() //求宽度
.height() //求高度
.tl() //左上角
.br() //右下角
cv::RotatedRect()矩形
cv::RotatedRect rr(p,sz,theta)
//p x,y坐标
//sz 行,列
//theta 角度
cv::RotatedRect( p1, p2 )
//p1 左上角坐标
//p2 右上角坐标
其他
Mat::at(i,j) //引用数组元素
Mat::empty() //判断矩阵是否为空
Mat::ptr(i) //返回第i行的指针
n=Mat::channels //返回矩阵通道个数
Mat::total() //矩阵元素总数
Mat::pop_back(i)//从底部删除i行数据
类型转换
cvtColor(src,grey,CV_BGR2GRAY);
//转换图像格式,src 源文件 grey目标文件 CV_BGR2GRAY目标文件图像格式
求取特征值和特征多项式
int bz[2]={3,3};
double data[3][3]={1,0,1,0,1,0,0,0,1};
cv::Mat b(2,bz,CV_64FC1,data);
Mat eval_lambda;
Mat eval_LambdaMat;
cout<<"b"<<b<<endl;
// std::cout << "image.cols"<< image.cols<< std::endl;
// std::cout << "image.rows"<< image.rows<< std::endl;
//waitKey();
eigen(b,eval_lambda,eval_LambdaMat);//计算特征向量
cout<<"eval_lambda"<<eval_lambda<<endl;
cout<<"eval_LambdaMat"<<eval_LambdaMat<<endl;
求取和
Scalar all=sum(b.col(0));//返回4个通道值
通道
Mat aChannels[3];
split(c,aChannels);//分离通道