What's wrong with in-camera exposure histograms? A definitive view

I bought a Canon EOS 5D in September 2005. Before that I used a Canon PowerShot G2 (from 2002), and before that a Canon F1 film camera (from 1972). The exposure histogram displayed by a modern digital camera is, of course, a considerable advance on anything that went before in terms of enabling the photographer to assess immediately whether or not the exposure is right. And so is the facility to flash on the camera's LCD screen those parts of the picture which have 'blown' highlights (the "blinkies"). But, whilst using my digital cameras, it gradually became apparent to me that there were a lot of things about these features that I needed to understand but that were not documented at all, either by Canon or by anyone else that I could find.

At the beginning of 2006, I put up a number of pages on this web site illustrating various problems that I then saw with these features. There was some discussion of these points on the forums of dpreview and fredmiranda, with some correspondents agreeing with me and many rubbishing my view. But I realised that some of the critics did not really understand what I was driving at.

By August 2006, I had taken just over 4,500 photos using my 5D, mainly landscape or architectural, and had had time to do further experiments to try to tease out the information that Canon, for some reason, has not published. I reached what I regard as definitive, well founded, conclusions which are stated here.

Histograms in contemporary digital cameras

The following things are all true but, to me, totally unexpected:-

(1) The camera's histogram is not calculated from the image (that ends up in your raw or jpeg file); it is calculated from a heavily downsized version of that image.

This means that the histogram is always slightly wrong, and sometimes seriously misleading. For example, on the Canon EOS 5D, an experiment (here) shows that the histogram is calculated from an image that has been downsized to a mere 3% of its original size. So, if 'blown' highlights or 'blocked' shadow areas are distributed in small blobs across the picture, the camera's histogram calculation may well not see them at all. Also, depending upon how the camera does this downsizing, the pixels from which the histogram is calculated may not be the same as those in the original image.

Sometimes, this may lead you to think that a picture is under-exposed when in fact it isn't. This causes particular problems for those who follow Michael Reichmann's injunction to "expose to the right" which is undoubtedly good advice when using today's generation of digital cameras.

(2) If shooting in raw, the camera still calculates the histogram from a heavily downsized displayable picture and not from the raw data at all. This means that the histogram is largely irrelevant to assessing whether or not the raw image is correctly exposed.

Of course, in order to display a picture on the LCD on the back of the camera, the camera has to convert the raw data to a smaller range of tones using some tone curve or other. If you are shooting raw+jpeg, the camera displays on the LCD the same picture it would do if you were shooting jpeg alone and it seems that the histogram is calculated using the same tone curve that the camera uses to produce the jpeg. If you are shooting raw only, the camera seems to pick a default tone curve to make the image from which the histogram is calculated. (Even when shooting raw only, the camera still stores a small jpeg image within the raw file for thumbnail display purposes; this might be the one used to calculate the histogram.)

So, when shooting in raw mode, the histogram is only useful in assessing correctness of exposure if you can arrange that the tone curve the camera uses to produce the jpeg is similar to that which you intend to use in your raw converter software. The same applies to other things that are set in the raw converter like the white balance.

(3) Even if the camera had calculated the histogram from the full image completely correctly, there are still problems caused by the way the histogram is displayed on the very low resolution LCD screen on the back of the camera.

For example, on the Canon EOS 5D there are 115 pixels on its LCD screen across the width of the area where the histogram is displayed. That is, there are 115 pixels along the horizontal axis of the histogram which is trying to display a count for every tone from 0 to 255.

Obviously, it is impossible to display 256 vertical bars on a display area that is only 115 pixels wide. Therefore, the histogram has to be squashed to make it fit the display and, depending upon how this is done, what one sees may be misleading. In particular, if the count for tone 255 is combined with those for tones 254 and 253, say, then it may be impossible to tell if there are blown pixels.

Also, the height of the histogram display area is even more restricted than its width. On the Canon EOS 5D, the histogram is only 28 pixels high (when the camera is configured to show R, G and B histograms separately). This causes problems if the vertical axis is not scaled sensibly. If there is a large peak in the histogram curve - and there usually is - and if the vertical axis is scaled so that this peak just reaches the top of the display area, then it is likely that small peaks in the curve will be scaled down to a point at which they are less than one pixel high and hence are invisible.

This is another reason why the histogram, as displayed on the LCD, may make you think that the photo is over- or under-exposed when, in fact, it isn't.

(4) A particular case of problem (3) is where the two vertical bars on the displayed histogram corresponding to the count for tone 0 and for tone 255 are each only one pixel wide. This means that they are quite difficult to see, even when examined carefully indoors; outside, in a real shooting situation, you may well fail to see them.

This means that for certain kinds of subject - those which have a narrow peak near the left or right end of the histogram - you may fail to notice that the image is so over- or under-exposed that this peak is right off the edge of the histogram.

Before you say "well, I'm certainly not going to buy a Canon 5D then", I should add that I believe all the above problems may well apply to all present day digital SLRs.

Lad Lueck has found problems (1) and (2) in the EOS 1D(s) cameras here.

Towards a better histogram

It is annoying that some of the problems described above could easily be solved, I believe, with existing camera technology.

It is generally believed that contemporary digital cameras use 12-bit analogue-to-digital converters. That means that the raw data channels range over the values (tones) 0 to 4095. To see if the raw image is correctly exposed, the photographer needs to see a histogram of those values. That is to say, for shooting in raw, the horizontal axis of the histogram should run from 0 to 4095, no tone curve is needed, and it should be recognised that the picture on the LCD display has little to do with the question of how well exposed the raw image is. (Cameras introduced by Canon and Nikon in 2007 use 14-bit ones. For them, the same argument applies except the figure is 16383 rather than 4095.)

Finally, I have left up the earlier pages by which I reached these views. If you disagree with them please get in touch, using the email address below (which you won't see unless Javascript is enabled). Come to think of it, also get in touch if you agree with these views: just so I know I'm not a voice crying in the wilderness!

Change history

When I first wrote this article, I said that the histogram was calculated from the image displayed on the camera's LCD screen. Having discovered that the histogram was calculated from an image downsized to about 3% of its original size, I jumped to the conclusion that it was using the LCD image on the basis of Canon's published figure that the LCD has 230,000 pixels. That is about 1.8% of 12 megapixels so it seemed about right.

However, in August 2007, Dave Etchells covered the launch of the Nikon D3 camera and wrote about its new "live view" feature in these terms "It's amazing how big a difference the combination of a 3" diagonal size and 920,000 'pixels' makes. Like all LCD specs, that should properly be called 'dots' rather than pixels, that's the total number of red, green, and blue points on the screen. Most digicam LCDs have 230,000 dots or less, equating to a 320x240 pixel display." (see Imaging Resource here). This jolted me into realising that I had accepted Canon's 230,000 pixel figure without checking it.

As it happens, I had very carefully counted the number of pixels on that part of the LCD that shows the histogram. Scaling those figures up to the whole of the LCD produced 322 x 242 pixels so, allowing for measurement error, it seems that Dave Etchells was quite right.

I have adjusted this article to avoid making a direct connection between the histogram and the LCD size. It seems likely that the camera downsizes the image to 3%, calculates the histogram, perhaps stores this image as a thumbnail in the raw file, and downsizes it a bit more for display on the LCD.

Peter Facey, Winchester, England
20100528 removed ambiguity about 14-bit A-to-D conversion
20070925 updated for 14-bit A-to-D conversion
20070903 updated for size of LCD screen