1. RGB与HSV各自存在的意义,以及为什么要相互转换
ref:https://blog.csdn.net/viewcode/article/details/8203728
RGB: 通过三原色的混合来产生不同的颜色效果,三原色分别由8bit定义,在硬件实现中便于理解和处理;(PS,其他颜色由三原色混合并不能说其他颜色就是混合光,比如黄光就是一种单色光,更合适的说法是“将三原色光以不同的比例复合后,对人的眼睛可以形成与各种频率的可见光等效的色觉")
HSV: 通过色度hue,亮度value,饱和度saturation来定义颜色,更接近人眼对颜色的定义(这是什么颜色?深浅如何?明暗如何?)
两者之间的转化需求来自与 硬件实现 与 显示效果调整 两方面的需求,前者满足具体处理过程中简便高效实现,后者按照人眼识别特点进行调整,更容易达到人眼预期的、显示效果的调整;
2. 转换算法
RGB > HSV :
HSV > RGB: