自己最近在看《opencv2 计算机视觉编程手册》学习了不少相关知识,这篇博文主要总结了己在学习过程中所遇到的Mat类的相关属性和成员函数,因为在学习过程中发觉关于Mat类属性与成员函数内容挺多而且特别容易混淆,所以把这些内容总结在这篇博文上。
-
cols , rows (属性)
顾名思义 rows 返回图像矩阵的行数,cols返回列数。
-
step (属性)
step以字节为单位的图像宽度。
Mat demo(3, 3, CV_32FC3);
cout << demo.step << endl; //输出 36 = 3 * 4 * 3
-
elemSize() (函数)
返回每一个像素点的字节数,比如三通道的short(两字节)型的矩阵(CV_16C3) elemSize()将返回 6 。
会发现 step = elemSize() * cols
-
total() (函数)
返回总的像素点数,也就是 cols*rows
- depth() (函数)
depth函数返回每个像素点的数据类型。Mat.depth()得到的是一个0~6的数字,分别代表不同的数据类型,对应关系如下: