void cv::cvtColor( cv::InputArray src, // 输入序列 cv::OutputArray dst, // 输出序列 int code, // 颜色映射码 int dstCn = 0 // 输出的通道数 (0='automatic') );
输入一个输入序列(一般是原图像),然后经过颜色映射码生成这个颜色映射码的输出序列。其中,最后一个参数dstCn用于指定目标图像的通道数,如果指定的值是默认值0,那么通道数将由输入图像和颜色转换码决定。
示例:
来源于:https://blog.csdn.net/fanjiule/article/details/81629581
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { Mat src,dst,dst1; src = imread("image5.jpg"); //判断图片是否载入成功 if (src.empty()) { printf("图片加载失败\n"); system("pause"); } imshow("原图",src); cvtColor(src,dst,CV_BGR2GRAY);//转换方式1,这种是转换为灰度图,经常使用,需要记住 cvtColor(src,dst1,COLOR_BGR2Lab);//转换方式2 imshow("CV_BGR2GRAY转换后",dst); imshow("COLOR_BGR2Lab转换后",dst1); waitKey(0); return 0; }
这里给出一些颜色映射码
来源于:https://blog.csdn.net/xuwenwen_2013/article/details/78663379 1、RGB和BGR(opencv默认的彩色图像的颜色空间是BGR)颜色空间的转换 cv::COLOR_BGR2RGB cv::COLOR_RGB2BGR cv::COLOR_RGBA2BGRA cv::COLOR_BGRA2RGBA 2、向RGB和BGR图像中增添alpha通道 cv::COLOR_RGB2RGBA cv::COLOR_BGR2BGRA 3、从RGB和BGR图像中去除alpha通道 cv::COLOR_RGBA2RGB cv::COLOR_BGRA2BGR 4、从RBG和BGR颜色空间转换到灰度空间 cv::COLOR_RGB2GRAY cv::COLOR_BGR2GRAY cv::COLOR_RGBA2GRAY cv::COLOR_BGRA2GRAY 5、从灰度空间转换到RGB和BGR颜色空间 cv::COLOR_GRAY2RGB cv::COLOR_GRAY2BGR cv::COLOR_GRAY2RGBA cv::COLOR_GRAY2BGRA 6、RGB和BGR颜色空间与BGR565颜色空间之间的转换 cv::COLOR_RGB2BGR565 cv::COLOR_BGR2BGR565 cv::COLOR_BGR5652RGB cv::COLOR_BGR5652BGR cv::COLOR_RGBA2BGR565 cv::COLOR_BGRA2BGR565 cv::COLOR_BGR5652RGBA cv::COLOR_BGR5652BGRA 7、灰度空间域BGR565之间的转换 cv::COLOR_GRAY2BGR555 cv::COLOR_BGR5552GRAY 8、RGB和BGR颜色空间与CIE XYZ之间的转换 cv::COLOR_RGB2XYZ cv::COLOR_BGR2XYZ cv::COLOR_XYZ2RGB cv::COLOR_XYZ2BGR 9、RGB和BGR颜色空间与uma色度(YCrCb空间)之间的转换 cv::COLOR_RGB2YCrCb cv::COLOR_BGR2YCrCb cv::COLOR_YCrCb2RGB cv::COLOR_YCrCb2BGR 10、RGB和BGR颜色空间与HSV颜色空间之间的相互转换 cv::COLOR_RGB2HSV cv::COLOR_BGR2HSV cv::COLOR_HSV2RGB cv::COLOR_HSV2BGR 11、RGB和BGR颜色空间与HLS颜色空间之间的相互转换 cv::COLOR_RGB2HLS cv::COLOR_BGR2HLS cv::COLOR_HLS2RGB cv::COLOR_HLS2BGR 12、RGB和BGR颜色空间与CIE Lab颜色空间之间的相互转换 cv::COLOR_RGB2Lab cv::COLOR_BGR2Lab cv::COLOR_Lab2RGB cv::COLOR_Lab2BGR 13、RGB和BGR颜色空间与CIE Luv颜色空间之间的相互转换 cv::COLOR_RGB2Luv cv::COLOR_BGR2Luv cv::COLOR_Luv2RGB cv::COLOR_Luv2BGR 14、Bayer格式(raw data)向RGB或BGR颜色空间的转换 cv::COLOR_BayerBG2RGB cv::COLOR_BayerGB2RGB cv::COLOR_BayerRG2RGB cv::COLOR_BayerGR2RGB cv::COLOR_BayerBG2BGR cv::COLOR_BayerGB2BGR cv::COLOR_BayerRG2BGR cv::COLOR_BayerGR2BGR