cvtColor()函数是OpenCV里的颜色空间转换函数,可以实现RGB颜色向HSV、HSI等颜色空间的转换,也可以转换为灰度空间。
原型如下:
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )
第一个参数为输入图像,第二个参数为输出图像,第三个参数为颜色空间转换的标识符,第四个参数为目标图像的通道数,若该参数为0,表示目标图像取自源图像的通道数,下面是一个调用示例:
//此句代码为OpenCV2版
cvtColor(srcImage,dstImage,CV_GRAY2BGR);
//此句代码为OpenCV3版
cvtColor(srcImage,dstImage,COLOR_GRAY2BGR);
而随着OpenCV版本的升级,cvtColor函数对颜色空间种类的支持也是越来越多,其标识符列举如下图所示。
即对于颜色控件转换,OpenCV2的CV_前缀的宏命名规范,被OpenCV3中COLOR_式的宏命名前缀所取代,另外,需要提醒的是OpenCV默认的图片通道存储顺序是BGR,而不是RGB
本文摘自:《OpenCV3编程入门》一书