文章来源:
uchar类型的指针,指向Mat数据矩阵的首地址。 可以理解为表示房屋的门牌号;
Mat 矩阵的维度。 如果Mat是二维矩阵,则dims=2,如果是三维矩阵,则dims=3。 大多数情况下,它是一个二维矩阵,即平面上的矩阵。
可以这样理解,房子是一层平房留学之路,而三维以上的房子是多层建筑;
Mat 矩阵的行数。 可以理解为房子里房间的排数;
Mat 矩阵的列数。 可以理解为房子的房间数;
首先,size是一个结构体,定义了Mat矩阵中数据的分布形式。 有一个数值关系:
image.size().width==image.cols; image.size().==image.rows
可以理解为房屋内房间的整体布局,包括按行和列分布的房间数量信息;
Mat 矩阵元素拥有的通道数。 比如常见的RGB彩色图像,==3; 而灰度图像只有一个灰度分量信息==1。
可以理解为每个房间放置多少张床。 三通道房有3张床位,单通道房有1张床位;
它是用来衡量每个像素中每个通道的准确度的,但与图像的通道数无关! 深度值越大,精度越高。 其中,Mat.depth()获取0到6之间的数字,分别代表不同的数字。 对应关系如下:
枚举{CV_8U=0,CV_8S=1,=2,=3,=4,=5,=6}
其中U表示,S表示,即有符号数和无符号数。
可以理解为房间内每张床可以睡多少人。 这与房间的床位数量无关;
elem是()的缩写,表示矩阵中每个元素的数据大小。 如果Mat中的数据类型是,则==1; 如果是或,则==3; 如果是或,则==6; 即是以8位(一个字节)为单位width是什么意思,乘以通道数和8位的整数倍;
可以理解为整个房间可以睡多少人。 这时需要将房间内的床位(通道)数量以及每张床位的容量相加;
添加“1”就构成了该属性。 1可以认为是元素中1个通道的意思。 这样,从命名中拆分出来之后就很容易解释这个属性了:它代表Mat矩阵中每个元素的单个通道的数据大小。width是什么意思,以字节为单位,所以有:
==/;
可以理解为Mat矩阵中每一行的“步长”,以字节为基本单位。 每行所有元素的总字节数是将一行中所有元素、所有通道、所有通道累加后的值;
以字节为基本单位,Mat矩阵中每个像素的大小累加了所有通道以及所有通道的后续值,因此有:
步骤1==步骤/;
Mat矩阵的类型包括矩阵中元素的类型和通道数。 type的命名格式为CV_(位数)+(数据类型)+(通道数)。 所有值如下: