void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=)
- src: 输入图像
- dst: 输出图像
- code: 颜色空间转换标识符
- OpenCV2的CV_前缀宏命名规范被OpenCV3中的COLOR_式的宏命名前缀取代
- 注意RGB色彩空间默认通道顺序为BGR
- 具体可以参考: enum cv::ColorConversionCodes部分
- dstCn: 目标图像的通道数,该参数为0时,目标图像根据源图像的通道数和具体操作自动决定
示例代码如下:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
// main
int main( int argc, char** argv )
{
// Load image
cv::Mat srcImage = cv::imread("1.jpg"), dstImage; // Convert to other color space
cv::cvtColor(srcImage, dstImage, cv::COLOR_BGR2Lab);
imshow("Lab Space", dstImage); cv::cvtColor(srcImage, dstImage, cv::COLOR_BGR2GRAY);
imshow("Gray Scale", dstImage); cv::waitKey(); return ;
}
Original Image:
Lab Space:
Gray Scale: