将rgb元组转换为实数的关系

时间:2014-04-08 01:26:39

标签: matplotlib

是否有将[r,g,b]元组转换为实数x的关系,实数x映射到色阶0到1.像x = b + n * g + n ^ 2 * r 。例如,这种关系将给出[1,0,0] - > 1和[0,0,1] - > 0

2 个答案:

答案 0 :(得分:2)

假设r,g和b各为8位,则一个简单映射为(r + 2^8 * g + 2^16 * b) / 2^24。 [r,g,b]三元组只是一个24位的值,所以这会将它降低到范围(0,1)。

答案 1 :(得分:2)

元组RGB是一个三维数量,具有特定于您应用它的域的粒度,所以是和否。您需要在行的空间中包含立方空间的数据,因此如果将3D矢量压缩为标量,假设标量与矢量的每个单独维度具有相同的粒度,则必然会丢失数据。但是,如果您对此没有问题,或者矢量组件和标量的粒度不同(标量至少是组件的立方粒度)或无限,则可以。