RGB与HSV颜色互想转换

这段代码我已经不太记得是从哪抄的了,惭愧;

  1. float3 rgb2hsv(float3 c)
  2. {
  3. float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
  4. float k1 = step(c.b, c.g);
  5. float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), k1);
  6. float k2 = step(p.x, c.r);
  7. float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), k2);
  8. float d = q.x - min(q.w, q.y);
  9. float e = 1.0e-10;
  10. return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
  11. }
  1. float3 hsv2rgb(float3 c)
  2. {
  3. float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
  4. float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www);
  5. return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
  6. }

?

时间: 2024-10-08 00:13:33

RGB与HSV颜色互想转换的相关文章

颜色空间RGB与HSV(HSL)的转换

转自:http://blog.csdn.net/jiangxinyu/article/details/8000999 一般的3D编程只需要使用RGB颜色空间就好了,但其实美术人员更多的是使用HSV(HSL),因为可以方便的调整饱和度和亮度. 有时候美术需要程序帮助调整饱和度来达到特定风格的渲染效果,这时候就需要转换颜色空间了. 出处:http://zh.wikipedia.org/wiki/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4 H

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类

Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类 1.1. 1.1.hsv色卡1 1.2. 从 HSV 到 RGB 的转换1 1.3. HSVtoRGBColorV22 1.1. 1.1.hsv色卡 1.2. 从 HSV 到 RGB 的转换 类似的,给定在 HSV 中 (h, s, v) 值定义的一个颜色,带有如上的 h,和分别表示饱和度和明度的 s 和 v 变化于 0 到 1 之间,在 RGB 空间中对应的 (r, g, b) 三原色可以计算为: 对于每个颜色向量 (r, 

Atitit  rgb yuv  hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别

Atitit  rgb yuv  hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别 1.1. 色彩的三要素 -- 色相.明度.纯度1 1.2. YUV三个字母中,其中"Y"表示明亮度(Lumina nce或Luma),也就是灰阶值:而"U"和"V"表示的则是色度(Chrominance或Chroma)2 1.3. HSB 和 HSV 是是一样的,只是叫法不同,HSL 则还有一些细微的区别:2 2. RGB 是对机器很友好的色彩模式,但

RGB、HSV、HSI颜色空间

概述 这篇博客主要介绍RGB.HSV和HSI颜色空间以及转换公式. RGB颜色空间 定义 RGB颜色空间通常用于显示器系统,例如:电脑.电视机的显示器使用的都是RGB颜色空间.利用物理学中的三原色叠加原理,可以产生各种颜色.在RGB颜色空间中,R.G.B各颜色分量彼此独立. RGB颜色空间的缺点在于不符合人眼的视觉特性,直接处理多有不便,因此通常需要转换到其他颜色空间进行处理,最后再转换到RGB颜色空间,用于显示器显示. 数学模型 RGB颜色空间中,R.G.B三个分量彼此独立,所能表示的范围也相

由RGB到HSV颜色空间的理解

1. RGB模型 2. HSV模型 3. 如何理解RGB与HSV的联系 4. HSV在图像处理中的应用 5. opencv中RGB-->HSV实现 在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维坐标的模型形式,非常容易被理解. 而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色.深浅如何.明暗如何.第一次接触HSV,书本里首先抛出的是一个圆锥模型,由于很少使用HSV,所以印象不深刻,但看一些资料时,HSV的概念时不时出来骚扰一些人的神经,所以,弄清楚

RGB HSI HSV HSB HSL

HSI:色相(hue),饱和度(saturation),亮度(Intensity),这种模型完全对应于RGB模型转化而来,转化也有严格的公式推导得到,网上提供了几种转化公式的表示方法: HSV:色相(hue),饱和度(saturation),明度(value),也称HSB(brightness). HSL:色相(hue),饱和度(saturation),亮度(luminance). 上面这两种模型各个意义也不完全一样,它们的意义对应于它们各自的建模方式.其中HSV/HSB来自于Lab建模方式并考

RGB和HSV颜色空间

转载:http://blog.csdn.net/carson2005/article/details/6243892 RGB颜色空间: RGB(red,green,blue)颜色空间最常用的用途就是显示器系统(计算机.电视机等都是采用RGB颜色空间来进行图像显示).一般来说,电脑,电视机等是利用三个电子枪分别发射R分量,G分量,B分量的电子束,以此来激发屏幕上的RGB三种颜色的荧光粉,从而发出不同颜色.不同亮度的像素.进而组成了一幅图像:很明显,RGB颜色空间利用了物理学中的三原色叠加从而组成产

用树莓派实现RGB LED的颜色控制——C语言版本号

用树莓派实现RGB LED的颜色控制  RGB色彩模式是工业界的一种颜色标准.是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代 表红.绿.蓝三个通道的颜色.这个标准差点儿包含了人类视力所能感知的全部颜色,是眼下运用最广的颜色系统之中的一个.RGB色彩模式使用RGB模型为图像中每个像素的RGB分量分配一个0~255范围内的强度值. RGB图像仅仅使用三种颜色.就能够使它们依照不同的比例混合,从而得到各种各样的颜色. 在实际的控制中.往

RGB与HSV之间的转换公式及颜色表

RGB & HSV 英文全称 RGB - Red, Green, Blue HSV - Hue, Saturation, Value HSV --> RGB 转换公式 HSV --> RGB 颜色表 RGB --> HSV 转换公式 RGB --> HSV 颜色表 参考资料 1.RGB to HSV conversion | color conversion http://www.rapidtables.com/convert/color/rgb-to-hsv.htm 2.