Why your photos look flatter than the room did

Your eye works across roughly twenty stops of brightness. A phone sensor manages ten or eleven, and then compresses those into a file that a screen will show you eight of. What happens to the difference is most of the answer.

A stop, and why there are never enough of them

A stop is a doubling. One stop brighter is twice the light; ten stops brighter is a thousand times. The useful thing about counting in stops rather than in numbers is that it matches how the eye responds — the difference between a candle and two candles is obvious, and the difference between a hundred candles and a hundred and one is nothing at all.

A living room at night with a lamp in it spans something like fourteen stops from the darkest corner to the bulb. Standing in it, you see the corner and you see the lamp, because your pupil and your retina adapt continuously and locally. A camera makes one decision for the entire frame and holds it for the whole exposure. It has perhaps eleven stops to spend, and it has to choose which eleven of the fourteen to keep.

Roughly how much range each part of the chain carries
StageStops
A lit room at night, corner to bulb≈ 14
Human vision, adapted, at one moment≈ 14
Human vision, adapting over minutes≈ 20
A recent phone sensor, single capture≈ 11
An 8-bit JPEG on a normal screen≈ 8

Where the flatness comes from

The choice the camera makes is almost always to protect the bright end. A highlight that reaches the top of the range is recorded as pure white and there is nothing underneath it — no faint variation to recover, no data to stretch. A shadow that is too dark still has its values, squeezed into a handful of levels and mixed with sensor noise, but present. Between losing the lamp and losing the corner, losing the corner is recoverable and losing the lamp is not.

So the scene gets pushed down. Then the file format pushes it again: eight bits per channel is two hundred and fifty-six levels, and the encoding is deliberately non-linear so that more of those levels sit where the eye is fussiest. What arrives on your screen is a scene that has been compressed twice, lands in the middle of the range, and uses maybe two thirds of the levels available to it. That is what “flat” means, measured: a histogram that stops well short of both walls.

Why your memory disagrees

Memory of a scene is not a recording of it. You looked at the lamp and your eye adapted, then at the corner and it adapted again, and what you remember is a composite that was never available at any single instant. No single exposure can reproduce it, which is why the gap between photograph and memory is structural rather than a failure of the camera.

What a correction can honestly give back

Most of it, as it turns out, because most of the loss is compression rather than deletion. If the histogram stops at 31 and 197 instead of 0 and 255, the picture is using 166 of its 256 levels and the rest are simply unoccupied. Stretching the occupied range back out to the full one costs nothing but a slight coarsening of the gradations, and it is the single largest visible improvement available to any automatic pass.

What cannot come back is anything that reached a wall. Where the sensor clipped, the file holds one value across what used to be a range of them, and a stretch simply produces a wider area of that same value. This is the boundary between correction and invention, and it is worth knowing where it sits before you expect a tool to cross it.

The corrector on the front page prints the range it found and the range it claimed, as two numbers, before anything else it did. If the first pair is already close to 0 and 255, the photograph was never flat and no amount of correcting will make it look like it was.

Take it back to the picture

Corrected on your own machine — we never get a copy.