CV_8UC1,CV_8UC2,CV_8UC3等意思
一般的图像文件格式使用的是 Unsigned 8bits,
CvMat矩阵对应的参数类型就是CV_8UC1,CV_8UC2,CV_8UC3。最后的C1、C2、C3表示通道数,譬如RGB3通道就用CV_8UC3
而float 是32位的,对应CvMat数据结构参数就是:CV_32FC1,CV_32FC2,CV_32FC3...
double是64bits,对应CvMat数据结构参数:CV_64FC1,CV_64FC2,CV_64FC3等。
变换这种矩阵单位类型,Mat里有一个函数convertTo可以办到:
C++:void Mat::convertTo(OutputArray m, int rtype, double alpha=1, double beta=0 )
例如:
mask.convertTo(OutputArray m, CV_8UC3, -1.0, 255.0); // inverse the mask matrix means I_new(x,j) = -1*I(x,j) + 255.
rtype 参数就是上述单位类型。具体可以查相关的文档。