You can calculate subjective brightness of an RGB value by weighting the three channels according to their perceived brightness, e.g. with something like:
(0.21 × R) + (0.72 × G) + (0.07 × B)
But, ignoring human biology and perception, is there an accepted way to calculate the objective, theoretical "light intensity" of an RGB value? (Theoretical because the real value will vary between displays)
My first thought, given that the RGB values correspond to the intensity of the pixel's three lights, is to take the average:
(R + G + B) ÷ 3
So, for instance, that makes yellow (#ffff00
) twice as intense as red (#ff0000
).
That makes sense, thinking about two lights being on rather than one, but looking at the colours I would have guessed they were of somewhat equal intensity.
Unlike dark yellow (#808000
) which actually is equal to the red in intensity!
I suspect there isn't a linear relationship which is confusing the issue.
Can objective light intensity be calculated from an RGB value?