700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > opencv将灰度图转为彩色图

opencv将灰度图转为彩色图

时间:2022-03-14 18:30:51

相关推荐

opencv将灰度图转为彩色图

使用opencv将一幅灰度图转为彩色图。

使用函数:cvtColor();

Mat imgGray= imread("gray.jpg",0);

Mat imgRGB;

cvtColor(imgGray, imgRGB, COLOR_GRAY2RGB);

说明:输入图像gray.jpg是单通道,8bit图像。

如此简单的过程,还折腾了一会,主要原因是:

刚开始读入图像写为:Mat imgGray= imread("gray.jpg");结果在调用cvtColor()函数时出错。

因为此时读入的imgGray不是8bit的单通道图像。imread(const string&filename, intflags=1)函数的第二个参数可设置读入图像的方式,函数默认以RGB三波段形式读入图像,即flags=1,而需读入一幅灰度图则需要设置flags=0,以8bit单通道的形式读入。

opencv源码中,图像读入方式:

enum

{

/* 8bit, color or not */

CV_LOAD_IMAGE_UNCHANGED =-1,

/* 8bit, gray */

CV_LOAD_IMAGE_GRAYSCALE =0,

/* ?, color */

CV_LOAD_IMAGE_COLOR =1,

/* any depth, ? */

CV_LOAD_IMAGE_ANYDEPTH =2,

/* ?, any color */

CV_LOAD_IMAGE_ANYCOLOR =4,

/* ?, no rotate */

CV_LOAD_IMAGE_IGNORE_ORIENTATION =128

};

总结如下:

flag=-1时,8位深度,原通道

flag=0,8位深度,1通道

flag=1, 8位深度 ,3通道

flag=2,原深度,1通道

flag=3, 原深度,3通道

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。