opencv中Mat的属性
类似CV_8UC1是Mat的类型,其定义为type = CV_(位数)+(数据类型)+(通道数)。
CV_8UC1=0 CV_8UC2=8 CV_8UC3=16 CV_8UC4=24 ————depth:0
CV_8SC1=1 CV_8SC2=9 CV_8SC3=17 CV_8SC4=25 ————depth:1
CV_16UC1=2 CV_16UC2=10 CV_16UC3=18 CV_16UC4=26 ————depth:2
CV_16SC1=3 CV_16SC2=11 CV_16SC3=19 CV_16SC4=27 ————depth:3
CV_32SC1=4 CV_32SC2=12 CV_32SC3=20 CV_32SC4=28 ————depth:4
CV_32FC1=5 CV_32FC2=13 CV_32FC3=21 CV_32FC4=29 ————depth:5
CV_64FC1=6 CV_64FC2=14 CV_64FC3=22 CV_64FC4=30 ————depth:6
这里U(unsigned integer)表示的是无符号整数,S(signed integer)是有符号整数,F(float)是浮点数。
例如:CV_16UC2,表示的是元素类型是一个16位的无符号整数,通道为2.
C1,C2,C3,C4则表示通道数是1,2,3,4
elemSize
矩阵一个元素占用的字节数,例如:type是CV_16SC3,那么elemSize = 3 * 16 / 8 = 6 bytes
elemSize1
矩阵元素一个通道占用的字节数,例如:type是CV_16CS3,那么elemSize1 = 16 / 8 = 2 bytes = elemSize / channels
data uchar型的指针。Mat类分为了两个部分:矩阵头和指向矩阵数据部分的指针,data就是指向矩阵数据的指针。