A camera’s sensor reacts to light in a basic “linear” fashion – the more light, the stronger the response, at the same rate. Our eyes and film however do not – compressing the way they receive light so differences are not as pronounced. This means the eye can cope easily with a range of brightness – while a camera sensor does not. Despite this, when we view images they appear as we would expect them to as the camera carries out processing to bring it closer to what we expect to see.
This exercise simulates the effect of that processing to help understand what happens.
Firstly I’ll create the equivalent of a “linear” capture by applying a gamma correction curve. To start, here is the image as processed originally by camera:
and here is the corresponding histogram:
As you can see, there’s a fairly even spread of tones here.
Here is the image with a ‘gamma correct curve’ applied so it resembles a linear capture – as the camera would create before it processes it:
This is the curve applied to achieve this:
And here is the corresponding histogram:
Now the image shows primarily dark tones – so the majority of the graph is dedicated to detail in the light tones.
Returning to “original”
This is the image with a curve applied – similar to what a camera would apply – to bring it back to a similar appearance to the original out of the camera:
And here is the curve applied to achieve this:
Here I’ve included a couple of close-ups to compare the noise in the dark regions of the images:
The close-ups show the effect on noise of applying the correction curve – in the dark image it isn’t that evident, however it is substantially more pronounced once the image is lightened – as the dark areas need greater adjustment and contain less detail.