OPENCV Mat的数据类型

1.opencv中Mat存在各种类型,其中mat有一个type()的函数可以返回该Mat的类型。类型表示了矩阵中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数)。具体的有以下值:

 2.注意在用at运算符访问Mat时,需特别注意数据类型。

3.很坑的一点,opencv的imread函数即使读入的原图片是灰度图,默认会把Mat变成三通道。

    测试代码:

    Mat mask = imread("_variantMask.jpg");//_variantMask.jpg是一幅灰度图。
    cout <<"类型是" <<mask.type() << " " <<"通道数是"<<mask.channels() << endl;
    mask = imread("_variantMask.jpg",0);
    cout << "类型是" << mask.type() << " "<<"通道数是"<< mask.channels()<< endl;

    输出结果:

4.cout不能直接输出uchar类型。用printf语句即可。
 

猜你喜欢

转载自blog.csdn.net/qq_39790992/article/details/81280249