1.Mat 类型
cv::Mat类是用于保存图像以及其他矩阵数据的数据结构。默认情况下,其尺寸为0,我们也可以指定初始尺寸,比如,比如定义一个Mat类对象,就要写cv::Mat pic(320,640,cv::Scalar(100));
Mat myMat= imread("dota.jpg");
表示从工程目录下把一幅名为dota.jpg的jpg类型的图像载入到Mat类型的myMat中.
2.imread函数
函数原型 :
Mat imread(const string& filename, intflags=1 );
第一个参数,const string&类型的filename,填我们需要载入的图片路径名。
第二个参数,int类型的flags,为载入标识,它指定一个加载图像的颜色类型。可以看到它自带缺省值1.所以有时候这个参数在调用时我们可以忽略,如果在调用时忽略这个参数,就表示载入三通道的彩色图像。
如果想要载入最真实的图像,选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR。
因为flags是int型的变量,如果我们不在这个枚举体中取值的话,还可以这样来:
•flags >0返回一个3通道的彩色图像。
•flags =0返回灰度图像。
•flags <0返回包含Alpha通道的加载的图像。
需要注意的点:输出的图像默认情况下是不载入Alpha通道进来