(色H,饱S,亮V)
cvCvtColor(src,dst,CV_BGR2HSV);
其中,src为三通道的,dst也为三通道的,
OPENCV 中 H、S、V、顺序分别为3*x+0
opencv中的 H分量是 0~180, S分量是0~255, V分量是0~255 但是HSV颜色空间却规定的是,H范围0~360,S范围0~1,V范围0~1 所以你需要自己转换一下,H*2,V/255,S/255
IplImage *img = cvLoadImage("D:\\0366.jpg", 1);
if(img == NULL)
return -1;
IplImage *hsvImg = cvCreateImage(cvGetSize(img), 8, 3);
IplImage *hImg = cvCreateImage(cvGetSize(img), 8, 1);
IplImage *sImg = cvCreateImage(cvGetSize(img), 8, 1);
IplImage *vImg = cvCreateImage(cvGetSize(img), 8, 1);
cvCvtColor(img, hsvImg, CV_BGR2HSV);
cvSplit(img, hImg, sImg, vImg, NULL);
cvShowImage("hImg", hImg);
cvShowImage("sImg", sImg);
cvShowImage("vImg", vImg);
处理灰度图(以三通道方式读入) 这三个通道的图像效果都不是很明显区分
处理原本彩色图,发现V通道确实亮好多。。。
但是对于精细的处理····额···不多说了,反正我是没觉得有很大惊喜。。。