常见颜色空间:
1、RGB:基于三原色
2、HSV:色度、饱和度、亮度
3、YUV:亮度、色度
cvtColor
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0)
src:原图像
dst:输出图像
code:转换模式,有CV_RGB2GRAY CV_RGB2HSY CV_BGR2HLS 等
dstCn:目标图像多通道设置,默认为0,即自动获取
BGR TO HSV:
附上HSV色表:
code:
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
Mat srcImage = imread("F:\\opencv_re_learn\\2.jpg");
if (!srcImage.data){
cout << "failed to read" << endl;
system("pause");
return -1;
}
imshow("srcImage", srcImage);
Mat image_hsv;
//bgr to hsv
cvtColor(srcImage, image_hsv, CV_BGR2HSV);
imshow("image_hsv", image_hsv);
//分离HSV三通道
vector<Mat> hsvChannels;
split(image_hsv, hsvChannels);
imshow("image_H", hsvChannels[0]);
imshow("image_S", hsvChannels[1]);
imshow("image_V", hsvChannels[2]);
waitKey(0);
return 0;
}
结果: