OpenCV用cv::cvtColor 函数把BGR 图像转换成另一种色彩空间,用色调、饱和度和亮度表示颜色,这里使用转换代码CV_BGR2HSV。源代码如下:
#include <vector>#include <opencv2/opencv.hpp>#include <opencv2/imgproc/types_c.h>using namespace cv;int main(){Mat image = imread("美少女.jpg");vector<Mat> channels;Mat hsv;cvtColor(image, hsv, CV_BGR2HSV);split(hsv, channels);imshow("通道0", channels[0]);// channels[0]是色调imshow("通道1", channels[1]);// channels[1]是饱和度imshow("通道2", channels[2]);// channels[2]是亮度waitKey(0);return 0;}
运行结果如下:
原图
三通道图