使用opencv将一幅灰度图转为彩色图。 使用函数:cvtColor(); 1 Mat imgGray= imread("gray.jpg",0);
2 Mat imgRGB;
3 cvtColor(imgGray, imgRGB, COLOR_GRAY2RGB);
说明:输入图像gray.jpg是单通道,8bit图像。
如此简单的过程,还折腾了一会,主要原因是: 刚开始读入图像写为:Mat imgGray= imread("gray.jpg");结果在调用cvtColor()函数时出错。 因为此时读入的imgGray不是8bit的单通道图像。imread(const string& filename, int flags=1)函数的第二个参数可设置读入图像的方式,函数默认以RGB三波段形式读入图像,即flags=1,而需读入一幅灰度图则需要设置flags=0,以8bit单通道的形式读入。 opencv源码中,图像读入方式: enum 总结如下: flag=-1时,8位深度,原通道 flag=0,8位深度,1通道 flag=1, 8位深度 ,3通道 flag=2,原深度,1通道 flag=3, 原深度,3通道 |
|