在HSV空间中添加/混合颜色



这几天我一直在试着把它可视化。我正在生成一个衍射图像,并想根据光的波长给它上色。
获得正确颜色的最简单方法是使用HSV空间,其中H随波长变化,S,V设为1.0
唉,我找不到一个公式/算法/方法来混合不同的颜色在HSV空间。

是否有一个混合HSV的公式或其他可理解的方法?

老实说,我会转换RGB,平均组件并转换回HSV。

这不是最有效的方法,但你可能会有或需要RGB<->HSV代码,RGB计算可能会简单得多。

Foley等人的《计算机图形学:原理与实践》的标准参考之一在13.3.7节"色彩空间内插值"中有这样的说法:

"当两个图像混合在一起时[…]颜色可能相当遥远,并且添加模型,例如RGB,是合适的。另一方面,如果目标是在两种固定色调(或饱和度)的颜色之间进行插值,并保持所有插值颜色的固定色调(或饱和度),那么HSV或HLS是优选的。但请注意,HSV或HSL中的固定饱和度插值被观看者视为具有固定饱和度[…]"

所以他们同意@andrewmu的建议,这似乎是最好的建议。

最新更新