图像的载入和显示

imread函数

Mat imread(const string& filename, intflags=1 );

第一个参数,填需要载入的图片路径名。

第二个参数,

  • flags >0返回一个3通道的彩色图像。
  • flags =0返回灰度图像。
  • flags <0返回包含Alpha通道的加载的图像。

namedWindow函数

void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE );

第一个参数,填被用作窗口的标识符的窗口名称。

第二个参数,

  • WINDOW_NORMAL设置了这个值,用户便可以改变窗口的大小(没有限制)

  • WINDOW_AUTOSIZE如果设置了这个值,窗口大小会自动调整以适应所显示的图像,并且不能手动改变窗口大小。

  • WINDOW_OPENGL 如果设置了这个值的话,窗口创建的时候便会支持OpenGL。

我们可以调用destroyWindow()或者destroyAllWindows()函数来关闭窗口,并取消之前分配的与窗口相关的所有内存空间。

imshow函数

void imshow(const string& winname, InputArray mat);

第一个参数,填需要显示的窗口标识名称。

第二个参数,填需要显示的图像。

imwrite函数

bool imwrite(const string& filename,InputArray img, const vector<int>& params=vector<int>() );

第一个参数,填需要写入的文件名。

第二个参数,填一个Mat类型的图像数据。

第三个参数,表示为特定格式保存的参数编码,它有默认值vector(),所以一般情况下不需要填写。而如果要填写的话,有下面这些需要了解的地方:

对于JPEG格式的图片,这个参数表示从0到100的图片质量(CV_IMWRITE_JPEG_QUALITY),默认值是95.
对于PNG格式的图片,这个参数表示压缩级别(CV_IMWRITE_PNG_COMPRESSION)从0到9。较高的值意味着更小的尺寸和更长的压缩时间,而默认值是3。
对于PPM,PGM,或PBM格式的图片,这个参数表示一个二进制格式标志(CV_IMWRITE_PXM_BINARY),取值为0或1,而默认值是1。