图像载入 imread()[OpenCV 笔记4]

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

filename

载入的图像名;

flags

指定加载图像的颜色类型,默认载入三通道彩色图像,

  • 如果取枚举类型 (OpenCV3中暂时失效),则定义如下  
enum{
  CV_LOAD_IMAGE_UNCHANGED = -1, /* 8 bit, color or not */
  CV_LOAD_IMAGE_GRAYSCALE = 0,  /* 8 bit, gray */
  CV_LOAD_IMAGE_COLOR = 1,      /* ?, color */
  CV_LOAD_IMAGE_ANYDEPTH = 2,   /* any depth, ? */
  CV_LOAD_IMAGE_ANYCOLOR = 4    /* ?, any color */
};
    • CV_LOAD_IMAGE_UNCHANGED: 在新版本中译本废置;
    • CV_LOAD_IMAGE_GRAYSCALE: 始终将图像转换成灰度,在返回;
    • CV_LOAD_IMAGE_COLOR: 始终转换到彩色,再返回;
    • CV_LOAD_IMAGE_ANYDEPTH: 如果载入图像的深度为16位或者32位,就返回对应深度图,否则就转换为8位图像在返回;
    • CV_LOAD_IMAGE_ANYCOLOR: 无损的源图像。
    • 如果输入有冲突表示,将采用较小数值,例如    
CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR /* equivalent to CV_LOAD_IMAGE_COLOR*/
  • 如果取int类型
    • flags>0,三通道彩色图
    • flags=0,灰度图
    • flags<0,包含Alpha通道的图像

图像储存顺序:BGR

原文地址:https://www.cnblogs.com/Xiaoyan-Li/p/5674788.html