OpenCV操作矩阵

来源:互联网 发布:满族饮食 知乎 编辑:程序博客网 时间:2024/05/19 18:14

矩阵对象

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对 应元素置为0A&|^B//矩阵位逻辑运算min(A,B)//矩阵元素最大值和最小值,比较两个矩阵元素,取最大或最小值 abs(A)//取矩阵元素绝对值

2.对矩阵计算

A*B//矩阵相乘A.t()//矩阵转置A.inv()//矩阵求逆
0 0
原创粉丝点击