在网上找了很多资料,都没关于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(三通道)
*
* 如果输入有冲突的标志,将采用较小的数字值
*/