概述
本文主要介绍常见的几种颜色模型以及使用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 值进行对比时,一定要记得归一化。
最后
以上就是积极夕阳为你收集整理的07.OpenCV-图像处理-颜色空间转换的全部内容,希望文章能够帮你解决07.OpenCV-图像处理-颜色空间转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复