如上一篇转载的博客所说,type返回值的最低三位用来表示数据类型(如CV_8U...)其他高位用于表示通道数
如CV_8UC1调用type之后的返回值的低四位应为1000
而CV_8UC2调用type之后的返回值的则必须用五位来表示,即1 0000
以此类推,CV_8UC3调用type之后的返回值的低五位为 1 1000,我们一般用到的矩阵也就是三维而已,其他的可依此类推
低三位则按照
#define CV_8U 0
#define CV_8S 1
#define CV_16U 2
#define CV_16S 3
#define CV_32S 4
#define CV_32F 5
#define CV_64F 6
#define CV_USRTYPE1 7
处理
但由于其返回类型为int(四字节),高24位没有任何意义,但通常不为0,我们可以人为将其截断,把返回类型强制转换为unsigned char(1字节),再进行相关转换和判断