题目
颜色中的RGB和HSV用什么公式转换?
我想知道RGB和HSV你转我和我转你的两个公式.
如果公式比较复杂这里写不清楚告诉我连接也好!
我想知道RGB和HSV你转我和我转你的两个公式.
如果公式比较复杂这里写不清楚告诉我连接也好!
提问时间:2020-11-21
答案
H参数表示色彩信息,即所处的光谱颜色的位置.该参数用一角度量来表示,红、绿、蓝分别相隔120度.互补色分别相差180度.
纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率.S=0时,只有灰度.
V表示色彩的明亮程度,范围从0到1.有一点要注意:它和光强度之间并没有直接的联系.
RGB转化到HSV的算法:
max=max(R,G,B)
min=min(R,G,B)
if R = max,H = (G-B)/(max-min)
if G = max,H = 2 + (B-R)/(max-min)
if B = max,H = 4 + (R-G)/(max-min)
H = H * 60
if H < 0,H = H + 360
V=max(R,G,B)
S=(max-min)/max
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来实现.
顺便提一下,另外一种直观颜色模型是HSL模型,该模型中前两个参数和HSV一样,而L表示亮度.它的三维表示为一双棱锥.因为用的不多,这里就不详细讲了.
纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率.S=0时,只有灰度.
V表示色彩的明亮程度,范围从0到1.有一点要注意:它和光强度之间并没有直接的联系.
RGB转化到HSV的算法:
max=max(R,G,B)
min=min(R,G,B)
if R = max,H = (G-B)/(max-min)
if G = max,H = 2 + (B-R)/(max-min)
if B = max,H = 4 + (R-G)/(max-min)
H = H * 60
if H < 0,H = H + 360
V=max(R,G,B)
S=(max-min)/max
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来实现.
顺便提一下,另外一种直观颜色模型是HSL模型,该模型中前两个参数和HSV一样,而L表示亮度.它的三维表示为一双棱锥.因为用的不多,这里就不详细讲了.
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
- 1believe 和 trust 有什么不同?
- 2very与quite的区别
- 3四分之一乘以括号二十四的平方减一百括号等于多少、数学题、求解!
- 4社会主义社会的根本任务是发展生产力,最终目标是
- 5几维鸟约还有多少只?
- 6一物体在地球表面重16N,它在以5m/s²的加速度加速上升的火箭的视重为9N,则此火箭
- 7一个圆柱表面积是150.72,底面半径是4cm,体积是多少
- 8在同一平面内有2002条直线a1,a2,…,a2002,如果a1⊥a2,a2∥a3,a3⊥a4,a4∥a5,…,那么a1与a2002的位置关系是_.
- 9某车间原有锌和铜共84千克,现在要把锌和铜按1:2熔铸成一种合金,需要添加12千克铜.原有铜多少千克?
- 10如图,在△ABC中,DE∥BC,EF∥AB,求证:△ADE∽△EFC.
热门考点
- 1do you have a( ) else to tell me
- 2古色古香是关于春的成语吗
- 3改一般疑问句并做肯定和否定回答,
- 4甲数与乙数的比是5:3,甲数比乙数多3分之2.
- 5化学问题初三的 关于化学式的
- 6英语翻译
- 7某实验小组的同学在完成制取二氧化碳的实验后,对回收的盐酸和氯化钙混合溶液(不含其它的杂质)进行如下实验:取一定量该混合溶液放入烧杯中,再滴入20g溶质质量分数为10.6%的碳酸
- 8They had to work for 12 hours every day (改为反义疑问句)
- 9I miss you Who are you missing是什么意思
- 10仿写.为你的父亲流一滴泪吧!这泪中有理解,有关怀,更有无限的感激,为你的父亲流一滴泪吧!