矩阵对象
1.Mat类
建立一个矩阵对象,用来储存图像
1.Mat_类
扩展Mat类的方法,先声明元素的类型,减少操作元素类型导致读写元素时出错
代码:
`Mat M(600,400,CV_8UC1);`
`M.at<char>(i,j)=100;//需要指定类型`
`Mat_<uchar>M1=(Mat_<char>&)M;//声明元素的类型`
`M1(i,j)=100;//不需要声明元素的类型`
2.Mat类内存管理
Mat对象有一个矩阵头信息和一个指向矩阵的指针
矩阵的大小,储存方法,储存地址等矩阵信息储存在矩阵头信息
Mat对象的指针指向矩阵的地址,来读写储存在矩阵的数据
3.Mat类输出
cout<<R<<endl;//输出对象指向的矩阵
选取矩阵区域
划定一个区域对图像进行截取,截取到的图像和原来的图像共用一个储存像素的矩阵
1.取对角线元素
Matdiag(int d) const//d=0表示主对角线,d>0表示主对角线下方的对角线
矩阵运算
1.对矩阵元素计算
A<>=!B//矩阵元素比较,得到true对应元素置为255,得到falsh对 应元素置为0
A&|^B//矩阵位逻辑运算
min(A,B)//矩阵元素最大值和最小值,比较两个矩阵元素,取最大或最小值
abs(A)//取矩阵元素绝对值
2.对矩阵计算
A*B//矩阵相乘
A.t()//矩阵转置
A.inv()//矩阵求逆