RGB与HSV颜色空间转换

RGB转化到HSV的算法:

max=max(R,G,B);

min=min(R,G,B);

V=max(R,G,B);

S=(max-min)/max;

HSV颜色空间模型(圆锥模型)HSV颜色空间模型(圆锥模型) [2]

if (R = max) H =(G-B)/(max-min)* 60

if (G = max) H = 120+(B-R)/(max-min)* 60

if (B = max) H = 240 +(R-G)/(max-min)* 60

if (H < 0H = H+ 360

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=210度。要得到淡蓝色,V=1 S=0.4 H=210度。

一般说来,人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16Bit表示HSV的话,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以满足我们的需要了。

由于HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,如Photoshop(在Photoshop中叫HSB)等等,但这也决定了它不适合使用在光照模型中,许多光线混合运算、光强运算等都无法直接使用HSV来实现。

顺便提一下,另外一种直观颜色模型是HSL模型,该模型中前两个参数和HSV一样,而L表示亮度。它的三维表示为一双棱锥。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RGB空间转换HSV色彩空间的算法如下: 1. 首先,找出RGB三个分量中的最大值和最小值,分别记为max和min。 2. 计算亮度值V,即V = max(R, G, B)。 3. 计算饱和度值S,即S = (max - min) / max。注意,如果max为0,则饱和度为0。 4. 计算色调值H,根据RGB分量的关系进行判断: - 如果max和min相等,则色调H为0。 - 如果max等于R且G大于等于B,则H = (G - B) / (max - min) * 60。 - 如果max等于R且G小于B,则H = (G - B) / (max - min) * 60 + 360。 - 如果max等于G,则H = (B - R) / (max - min) * 60 + 120。 - 如果max等于B,则H = (R - G) / (max - min) * 60 + 240。 注意,如果计算得到的H小于0,则H = H + 360。 这样就完成了RGB空间到HSV色彩空间的转换HSV色彩空间是一种直观的颜色模型,其中色调表示主色,饱和度表示颜色的鲜艳程度,亮度表示颜色的明亮程度。这种转换可以在图像编辑工具中广泛应用,如Photoshop等。 #### 引用[.reference_title] - *1* [RGBHSV颜色空间转换](https://blog.csdn.net/xiaoyafang123/article/details/113029986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [数字图像处理与Python实现-颜色空间转换-RGB颜色空间HSV颜色空间转换](https://blog.csdn.net/wujuxKkoolerter/article/details/107169605)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值