OpenCV中HSV颜色模型及颜色分量范围 您所在的位置:网站首页 各种角的范围 OpenCV中HSV颜色模型及颜色分量范围

OpenCV中HSV颜色模型及颜色分量范围

2024-07-18 06:33| 来源: 网络整理| 查看: 265

HSV颜色分量范围

一般对颜色空间的图像进行有效处理都是在HSV空间进行的,然后对于基本色中对应的HSV分量需要给定一个严格的范围,下面是通过实验计算的模糊范围(准确的范围在网上都没有给出)。

H:  0— 180

S:  0— 255

V:  0— 255

此处把部分红色归为紫色范围:

 

HSV六棱锥

H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0时,只有灰度。相隔120度。互补色分别相差180度。

V表示色彩的明亮程度,范围从0到1。有一点要注意:它和光强度之间并没有直接的联系。

  1、RGB转化到HSV的算法: max=max(R,G,B) min=min(R,G,B) V=max(R,G,B) S=(max-min)/max ifR = max,H =(G-B)/(max-min)* 60 ifG = max,H = 120+(B-R)/(max-min)* 60 ifB = max,H = 240 +(R-G)/(max-min)* 60 ifH < 0,H = H+ 360   2、HSV转化到RGB的算法: if s = 0 R=G=B=V else H /= 60; i = INTEGER(H) f = H - i a = V * ( 1 - s ) b = V * ( 1 - s * f ) c = V * ( 1 - s * (1 - f ) ) switch(i) case 0: R = V; G = c; B = a; case 1: R = b; G = v; B = a; case 2: R = a; G = v; B = c; case 3: R = a; G = b; B = v; case 4: R = c; G = a; B = v; case 5: R = v; G = a; B = b;

 

  HSV对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角H,并让V=S=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到淡蓝色,V=1 S=0.4 H=240度。   一般说来,人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16Bit表示HSV的话,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以满足我们的需要了。   由于HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,如Photoshop(在Photoshop中叫HSB)等等,但这也决定了它不适合使用在光照模型中,许多光线混合运算、光强运算等都无法直接使用HSV来实现。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有