07.OpenCV-图像处理-颜色空间转换

本文主要介绍常见的几种颜色模型以及使用opencv进行颜色空间转换。

1.RGB  模型

即三原色,Red,Green,Blue,分别含有256个灰度级。

2.CMY  模型

CMY 为相减混色,它与相加混色的RGB空间正好互补,也即用白色减去空间正好互补,也即用白色减去RGB 空间中的某一色彩值就等于同样色彩在CMY空间中的值

3.HSI  模型

HSI模型是从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation 或Chroma )和亮度(Intensity 或Brightness)来描述色彩
 I:表示光照强度或称为亮度,它确定了像素的整体亮度,而不管其颜色是什么。其最亮值为:表示光照强度或称为亮度,它确定了像素的整体亮度,而不管其颜色是什么。其最亮值为1 ,0 为最暗。

H:表示色度,由角度表示(0~360º)。反映了该颜色最接近什么样的光谱波长(既彩虹中的那种颜色)。反映了该颜色最接近什么样的光谱波长(既彩虹中的那种颜色)0度为红色,120度为绿色,240度为蓝色。

 S:表示色饱和度,色饱和度参数是色环的原点到彩色点的半径长度。在环的外围圆周是纯的或称饱和的颜色,其饱和度值为1:表示色饱和度,色饱和度参数是色环的原点到彩色点的半径长度。在环的外围圆周是纯的或称饱和的颜色,其饱和度值为1。在中心是中性(灰)影调,即饱和度为0。

模型之间的转换

颜色模型之间的转换

转换颜色空间

在 OpenCV 中有超过 150种进行颜色空间转换的方法。但是你以后就会、发现我们经常用到的也就两种:BGR↔Gray 和 BGR↔HSV。
我们要用到的函数是:cv2.cvtColor(input_image ,flag),其中 flag就是转换类型。
对于 BGR↔Gray 的转换,我们要使用的 flag 就是 cv2.COLOR_BGR2GRAY。
同样对于 BGR↔HSV 的转换,我们用的 flag 就是 cv2.COLOR_BGR2HSV。

注意:在 OpenCV 的 HSV 格式中,H(色彩/色度)的取值范围是 [0,179],S(饱和度)的取值范围 [0,255],V(亮度)的取值范围 [0,255]。但是不同的软件使用的值可能不同。所以当你需要拿 OpenCV 的 HSV 值与其他软件的 HSV 值进行对比时,一定要记得归一化。

猜你喜欢

转载自blog.csdn.net/weixin_42572978/article/details/92801307