建议阅读:http://blog.csdn.net/quarryman/article/details/17474861
cvCvtColor(src,dst,CV_BGR2HSV);
为什么是BGR?
OpenCV的习惯,不要考虑。反正不管是Windows中Load的还是摄像头取得的都是BGR顺序排列的,而且记IplImage->channelSeq显示的是BGR,很奇怪的是 channelSeq被OpenCV声明已经废弃。
其中,src为三通道的,dst也为三通道的,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。
H分量是0-360度,所以在OpenCV中被除以2处理。以匹配UCHAR 255的上限。
但是如果先BGR2HSV,然后再HSV2BGR,显示图片基本没有变化。这个转换中相当于H被二倍插值了。