1.图像的载入:imread()函数
imread()函数用于读取文件中的图片到OpenCV中,可以在OpenCV官方文档中查到它的原型,如下:
Mat inread(const string& filename, inflags=1);
第一个参数,const string&类型的filename,填入我们需要载入的图片路径名。在Windows操作系统下,OpenCV的imread函数支持如下类型的图像载入。
- Windows位图:*.bmp,*.dib
- JPEG文件:*.jpeg,*.jpg,*.jpe
- JEPG2000文件:*.jp2
- PNG图片:*.png
- 便携文件格式:*.pbm,*.pgm,*.ppm
- Sun rasters光栅文件:*.sr,*.ras
- TIFF文件:*.tiff,tif
第二个参数,int类型的flags,为载入标识,它指定一个加载图像的颜色类型。可以看到它自带默认值1,所以有时候这个参数在调用时可以忽略,如果忽略这个参数,就表示载入三通道的彩色图像。
- flags>0返回一个3通道的彩色图像;
- flags=0返回灰度图像;
- flags<0返回值包含Alpha通道的加载图像。
下面给出几个载入示例:
Mat image0=imread("1.jpg",2|4);//载入无损的源图像
Mat image1=imread("1.jpg",0);// 载入灰度图
Mat image2=imread("1.jpg",199);//载入3通道的彩色图像