HighGUI 图形用户界面

参考 自opencv3编程入门一书

图形用户界面主要内容包括图像载入,显示和输出到文件

在opencv1.0时代 图像的存储结构体都是IplImage × 在2.0以后,采用Mat 类作为图像存储的数据结构

1,Mat类  

  默认情况下大小是0 也可以指定大小,Mat(200,600,Scalar::all(0));

2,图像的载入与显示

  imread 和imshow

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

  filename: 文件名字

  flag :载入标示

  在higui_c.h中可以找到枚举

  enum

  {

    CV_LOAD_IMAGE_GRAYSCALE = 0, 8位灰度图

    CV_LOAD_IMAGE_COLOR =1, 彩色图

    CV_LOAD_IMAGE_ANYDEPTH=2, 返回对应深度的图像

    CV_LOAD_IMAGE_ANYCOLOR=4, 返回对象颜色的图像

  }

  flag是int 类型变量

  flag >0 返回一个3通道的彩色图像

  flag =0 返回一个灰度图像

  flag>0 返回一个alpha 通道的图像   

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

  winname:窗口的名字

  mat :需要显示的图像

3,创建窗口:namedWindow 函数

  原型:void namedWindow(const string &winname,int flag = WINDOW_AUTOSIZE)

  winname:窗口名字

  flag:窗口标示

  WINDOW_NORMAL 这个值用户可以改变窗口的大小

  WINDOW_AUTOSIZE 窗口会自动调整自适应图像

4,输出图像到文件:imwrite 函数

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

   filename:文件名称
  params:对于jpeg 图片 参数表示从0 到100 的图片质量 默认是95 ,对于png 的图片 这个参数表示压缩级别从0-9 默认是3

你可能感兴趣的:(HighGUI 图形用户界面)