This is an interesting finding!
The camera has a Colour Filter Array with 3 overlapping spectral responses. We use a Colour Correction Matrix (CCM) to convert this to standard RGB. The matrix will tend to amplify the differences between colour components.
Our CCMs are calibrated using test charts and work well for general scenes under various lighting conditions. But when the source is an LCD or OLED screen producing three narrow spikes, it's possible that colour can get over-saturated. So when B goes up, R and G will seem to go down.
Normally, this is all mixed up with Auto White Balance calculations. Even when the colour gains are fixed, the estimated colour temperature can have a (small) effect on the CCM.
You can turn all of this off by editing and using a copy of the camera tuning file ("imx708_wide.json").
In the "rpi.awb" section, change "bayes" to 0.Now in the "rpi.ccm" section, change the first member of the "ccms" array to beand delete all the other matrices, taking care to keep the brackets correctly nested.
From the response of your screen-and-camera setup, you may be able to calculate a more suitable Colour Correction Matrix.
The camera has a Colour Filter Array with 3 overlapping spectral responses. We use a Colour Correction Matrix (CCM) to convert this to standard RGB. The matrix will tend to amplify the differences between colour components.
Our CCMs are calibrated using test charts and work well for general scenes under various lighting conditions. But when the source is an LCD or OLED screen producing three narrow spikes, it's possible that colour can get over-saturated. So when B goes up, R and G will seem to go down.
Normally, this is all mixed up with Auto White Balance calculations. Even when the colour gains are fixed, the estimated colour temperature can have a (small) effect on the CCM.
You can turn all of this off by editing and using a copy of the camera tuning file ("imx708_wide.json").
In the "rpi.awb" section, change "bayes" to 0.
Code:
"bayes": 0,Code:
{ "ct": 4500, "ccm": [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0 ] }From the response of your screen-and-camera setup, you may be able to calculate a more suitable Colour Correction Matrix.
Statistics: Posted by njh — Wed Jul 30, 2025 10:01 am