天天看点

imread 第二个参数 详解(附带各常量对应的数值)

在网上找了很多资料,都没关于imread第二个常量对应的数值,于是结合各文档最终整理如下:

例子:cv::Mat src_img = cv::imread("test.png", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);      
/*第二个参数
   * -1 8深度 原通道
   * 0  8深度 1通道
   * 1 8深度 3通道
   * 2 原深度 1通道
   * 4 原深度 3通道
   * CV_LOAD_IMAGE_ANYDEPTH 返回图像的深度不变 对应 2
   * - 如果设置,当输入具有相应深度时返回16位/32位图像,否则将其转换为8位。
   *
   * CV_LOAD_IMAGE_COLOR 对应  1
   * - 如果设置,则始终将图像转换为彩色图像
   *
   * CV_LOAD_IMAGE_GRAYSCALE 对应 0
   * - 如果设置,则始终将图像转换为灰度图像,位深=8bit 通道数=1(颜色变灰)
   *
   *CV_LOAD_IMAGE_UNCHANGED 对应 -1
   * – 在每个通道中,每个像素的位深为8 bit,通道数(颜色)保持不变
   *
   *CV_LOAD_IMAGE_ANYCOLOR  对应 4
   * – 位深不变 , 通道数不变
   *
   * 组合
   * CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR – 位深不变,通道数变 (最真实图像)
   *
   * CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYDEPTH – 位深不变,通道数=3(三通道)
   *
   * 如果输入有冲突的标志,将采用较小的数字值
   */