这次我主要说说颜色空间,包括三个方面:RGB颜色空间,HSV颜色空间以及颜色空间的转换
RGB颜色空间介绍:
1:RGB颜色空间简介
三基色原理:大多数的颜色可以通过红、绿、蓝<数学中基的概念>三色按照不同的比例合成产生,同样绝大多数单色光也可以分解成红绿蓝三种色光
红绿蓝三基色按照不同的比例相加合成混色称为相加混色。其中一些混色的规律有:
红色+绿色 = 黄色
绿色+蓝色 = 青色
红色+蓝色 = 品红
红色+绿色+蓝色 = 白色
红色+青色 = 白色
绿色+品红 = 白色
蓝色+黄色 = 白色
下图为RGB空间:
2:互补光的定义:
当两种光按照适当比例混合得到白光时,称这两种光为互补光。所以上述的混色规律我们可以得到青色、黄色、品红分别是红色、蓝色、绿色的补色。
3:亮度的定义:
单色光的亮度强度各不相同,根据人的感受是:绿光最高,红光次之,蓝光最弱,假设得到的白光的强度为100%。如果用Y表示景物的亮度,则通常有:
Y= 0.299R + 0.587G + 0.114B
因为红﹑绿﹑蓝三基色能够合成自然界所有的色彩,因此在电子设备和软件中,经常使用红绿蓝三基色合成五颜六色的图像。用以上的相加混色所表示的颜色模式成为RGB模式
注意:
1:CvLoadImage(“”,0)所得到的图像即为灰度单通道图像,所对应的像素即为Y;而与split函数得到的单通道图像R,G,B不一样,但其亮度显示也是按照下图的直线来显示的<即为RGB空间的直线>
2:三通道图像也可能是灰度图像,当三通道值相等时,所对应的三通道图像就是灰度图像<可以通过以下程序画出来>。即RGB space空间中(0,0,0)和(1,1,1)两线上所有点就是灰度图像—>三通道图不一定是彩色的,彩色图一定是三通道的。
3:cvCvtColor(src,dst,CV_GRAY2BGR); //此时dst三通道的值都相等,都等于src单通道的值,因此结果仍然是灰度图像,