Opencv2.4学习::颜色空间转换(BGR2HSV)

常见颜色空间:

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;
}

结果:

猜你喜欢

转载自blog.csdn.net/dieju8330/article/details/82465616