本文主要是介绍RGB空间与HSV空间的相互转换(C++实现,修正网上大多数的代码错误),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先RGB空间与HSV空间都是图像的颜色空间模型。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。在 RGB 模式下,每种RGB 成分都可使用从 0(黑色)到 255(白色)的值。 例如,亮红色使用 R 值 255、G 值 0 和 B 值 0。 当所有三种成分值相等时,产生灰色阴影。 当所有成分的值均为 255 时,结果是纯白色;当该值为 0 时,结果是纯黑色。HSV 模型通常用于计算机图形应用中。在用户必须选择一个颜色应用于特定图形元素各种应用环境中,经常使用 HSV 色轮。在其中,色相表示为圆环;可以使用一个独立的三角形来表示饱和度和明度。典型的,这个三角形的垂直轴指示饱和度,而水平轴表示明度。在这种方式下,选择颜色可以首先在圆环中选择色相,在从三角形中选择想要的饱和度和明度。
HSV 模型的另一种可视方法是圆锥体。在这种表示中,色相被表示为绕圆锥中心轴的
这篇关于RGB空间与HSV空间的相互转换(C++实现,修正网上大多数的代码错误)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!