【OpenCV教程】OpenCV中对矩阵的常用操作
@TOC
1.全零矩阵
CV_NODISCARD_STD static MatExpr Mat::zeros(int rows, int cols, int type);
CV_NODISCARD_STD static MatExpr Mat::zeros(Size size, int type);
CV_NODISCARD_STD static MatExpr Mat::zeros(int ndims, const int* sz, int type);
//not recommended参数如下
参数
含义
rows
行数
cols
列数
type
数据类型(CV_16F)
size
Size(宽(列数),高(行数))
Size与Mat中的成员函数.size()的返回值,有相同的数据类型,是[宽*高]。
Mat中的成员变量.size,与以上二者不同,是 rows*cols
2.全一矩阵
CV_NODISCARD_STD static MatExpr Mat::ones(int rows, int cols, int type);
CV_NODISCARD_STD static MatExpr Mat::ones(Size size, int type);
CV_NODISCARD_STD static MatExpr Mat::ones(int ndims, const int* sz, int type);
//not recommended参数如下
参数
含义
rows
行数
cols
列数
type
数据类型(CV_16F)
size
Size(宽(列数),高(行数))
3.单位矩阵
参数如下
参数
含义
rows
行数
cols
列数
type
数据类型(CV_16F)
size
Size(宽(列数),高(行数))
4.矩阵转置
5.求逆矩阵
6.逗号式分隔创建矩阵
常用于自定义卷积核
以下为使用实例,注意括号的位置
注意 :给出的数据类型必须是基本数据类型,如int,double。不能是CV_16F等。
7.矩阵定义(只列出常用的)
参数如下
参数
含义
rows
行数
cols
列数
type
数据类型(CV_16F)
size
Size(宽(列数),高(行数))
7.1 数据类型Scalar
Scalar(gray)
Scalar(blue,green,red)
8.通过ptr与at函数遍历矩阵
8.1 Vec类型
以下为实例
用ptr访问可以不加Vec类型,ptr访问是最快的
用at访问必须加Vec类型,at访问比ptr略微慢一些
9.通过迭代器遍历矩阵(easy but very very slow)
最后更新于
这有帮助吗?