Measuring monitor contrast ratios with a camera
It is nearly impossible to accurately estimate the contrast ratio
of a monitor by eye, and the manufacturers are often inflating the
numbers to unrealistic values. However, with a digital camera and this
web page, it is quite easy to check it yourself. It is most accurate
with a camera that gives you some manual control over exposure time
and the like, but it will work even with a point-and-shoot camera.
The idea is simple: take a picture of a white area and of a black
area on the screen. The brightness of the picture, combined with
camera settings such as ISO, F-number, and shutter time tells us how
much light comes off the screen in either case. For the most accurate
results, all camera settings should be identical, except for the
shutter time, which is chosen such that both pictures end up as a
middle grey.
These are the minimum settings:
- White balance: set to "cloudy" or "daylight". (Do not use the default "auto" setting).
- Flash: OFF.
- Zoom: use the wide-angle setting, that is: fully zoomed out. The analysis
software on the server will crop the image to the equivalent of viewing the screen
from a distance of 1.5 times the screen diagonal. (If you don't want
to use the image upload option, then zoom to about 2×)
Cameras vary in how easy it is to adjust the exposure. A good
starting point seems to be ISO 400, F 2.8, and shutter times of 1 and
1/400 second. (For laptop screens, use 1/4 and 1/400 second). Always
keep the same ISO and F number for the two images, and vary the
shutter times if necessary to get two images with approximately the
same mid-grey level (2.5 stops below saturation). Also try to keep the
shutter times between 2 and 1/500 second. Set the camera to a
low-resolution mode; it will reduce image noise. Also don't try to
focus on the screen, because we are not interested in seeing
individual pixels.
If the above is cryptic, you can try the following procedure:
- Camera mode: set to aperture priority ("Av"), or manual ("M") if that is
not available.
- ISO value: set to 400.
- Exposure value adjustment (EV): start at 0.
- Aperture value (F-number): set to the lowest possible value, e.g. 2.8.
- Image resolution: low, for example 640x480.
Then proceed with the test as follows.
- Make the environment as dark as possible.
- Set the shutter time to about 1 s (or 1/4 s for most laptop
screens). Put the camera very close to the black area below, at a
straight angle, and take a picture of the black area. Don't worry
about warnings about camera shake and autofocus. (If the camera has
manual focus control, set it to infinity, ∞) If the image is
very dark, increase the shutter time (or change the EV adjustment) and
take a new picture to get a mid-grey image.
- If the black level of your monitor is worse close to the edges
("backlight bleed"), then you may repeat the procedure for the borders
of the screen. Make sure that you don't photograph the light from the
menu or task bar and such.
- Decrease the shutter time to about 1/400 s. Make a picture of the
white area. Change the shutter time or EV adjustment if the image is
(almost) saturated white or very dark rather than mid-grey.
- Upload two representative JPG files in the form below. The result
page will warn you if you need to change your camera
settings. Optionally, you can add a third JPG file taken at the edge
of the black screen.
Alternative method
If you don't use the upload form, you can proceed as follows.
- Review the pictures. If either of the two is vastly underexposed or
overexposed, try changing the exposure time or EV adjustment. If that
doesn't work, you can change the aperture F number and the ISO number, but
these two should be identical for the black and white photographs. That
means: don't shoot the white area at ISO 100 and the black area at ISO 800.
Also, avoid extremely short shutter times (1/1000 or less).
- Look at the pictures and if your camera has one, the histogram. For both
the dark and the light pictures, locate the peak of the histogram. In the
example image, the peak is at 2.5 stops. If the peak (measured at the base)
is wider than about 1 stop, I would suggest to read the value 0.5 stops from
the right edge.
Alternatively, enter the RGB values
that are in the resulting image file (see below for hints).
- Enter the numbers in the form below. (This uses javascript. It
should work with Firefox 1.5/2.0, Opera 9, and even Internet Explorer
6.)
Black area
White area
You can also try the white and black squares below instead, for example if
your monitor has some kind of dynamic contrast. Make sure that you point the
camera lens accurately.
You can also check the procedure with the images below, which should have a
contrast ratio of about 4:1, if your display gamma is correct (see gamma test).
25% luminance | 100%
luminance |
Background
Using RGB values
If your camera does not have a histogram, or a histogram without a
scale, and you don't want to upload your photos for some reason, you
can open the JPG image file in an image editing program such as the
GIMP or MS Paint. Of course, there are plenty of other programs, too,
but these are easy to get. This method is more accurate than looking
at the histogram, but also more time-consuming. The RGB values are
converted into luminances (relative to image saturation) according to
the sRGB standard [Wikipedia] or Adobe RGB
standard [Wikipedia]. Most
consumer-grade cameras use sRGB.
Especially with the black image, there might be a considerable difference
between the center and the edges. In that case take the RGB values at the
lighter parts of the image.
a. GIMP procedure
GIMP is available for all common platforms (Linux, Mac, Windows) and is
free. [download]. Select the
color picker tool (1; it looks like an eye dropper). Set the "sample average
radius" to 50 or so and click at a representative part of the image (2).
Depending on the GIMP version, you will get a popup with the RGB values (3),
or you can click on the currently selected color (4) to get a window with
the RGB values (5).
b. MS Paint procedure
MS Paint is included in Windows (it's under the Accessories menu). Select
the color picker tool (1; it looks like an eye dropper). Click at a
representative part of the image. Then go to Colors (2) → Edit Colors
→ Define Custom Colors (3) and read the RGB values (4). Repeat this a
few times and calculate the average RGB values.
Contrast ratio accuracy
I guess that it's fairly evident how this test works. The result should be
fairly reliable if your camera can show a histogram. There are a number of
error sources:
- Inaccuracy of reading the histogram peak position (±0.1 stops means
±7% in the contrast ratio).
-
On some screens, the black level has a strong angle dependence, such as in
the image on the right. The center of the photo, corresponding to viewing
the screen straigth-on, is fairly dark (3.8 stops, or 0.23 cd/m2), which
results in a 437:1 contrast ratio. However, the edges, corresponding to a
normal working distance from the screen, are much brighter (1.5 stops, 1.16
cd/m2), which results in a 89:1 contrast ratio. I would say that the latter
(worse) number is more realistic, since you usually don't watch the screen
exactly straight on.
- Inaccuracy of the F-numbers if they were different for the black and
white images. The camera may tell you that it is 5.0, but it could well be
4.8 or 5.2. That's why it's better to use the same camera settings for both
images, such that this error is canceled.
- Inaccuracy of the ISO numbers. The camera sensitivity is often not
proportional to the ISO setting.
- Inaccuracy of the shutter time. Especially a problem for very short
shutter times, e.g. 1/1000 seconds or shorter.
- Sensor noise. At high ISO speeds, cameras typically produce noisy
pictures, which blurs the histogram, or requires averaging over many pixels
when using the RGB method. Setting the camera resolution to e.g. 640x480
lets the camera do the averaging for you (on a 4 megapixel camera that means
averaging over 13 pixels). The camera averaging acts on the raw sensor data,
which is more accurate than when you do it on the already-processed JPEG data.
- Focusing. It's best to keep the camera completely
out of focus, such the camera doesn't see the individual pixels on your
monitor.
- The backlight of some LCD monitor flickers at relatively low rates (e.g.
300 Hz), which may affect the results for short shutter times. That's why
you should take the average of several readings in such cases.
Luminance accuracy
The form also shows the absolute luminance as calculated from the data
entered. All numbers should be known and not guessed or this number will not
be meaningful. And even then, the real ISO numbers of cameras may vary
considerably from one camera model to the next, so don't take this number as
an absolute truth.
The calculation assumes that the sensor or RGB image saturates at a luminance
Ls = 85.5 × (f#)2 / (ISO × t),
where f# is the aperture number, and t is the exposure
time. This equation uses the "standard output sensitivity (SOS)" definition
of the digital ISO value. [see Wikipedia].
From some experiments with a calibrated luminance meter and various cameras,
it appears that the actual sensitivies can differ considerably from this
equation, and that it is not always consistent on the same camera at
different "ISO" settings. Here are the numbers for a couple of cameras:
Camera model | ISO setting | F-number | Ratio real/nominal |
---|
Canon Powershot A540 | 80 | 5.5 | 1.4
|
| 100 | 5.5 | 1.5
|
| 200 | 5.5 | 1.5
|
| 400 | 5.5 | 1.4–1.5
|
| 800 | 5.5 | 1.4
|
Canon Powershot A710IS | 80 | 4.8 | 3.0
|
| 200 | 4.8 | 1.2
|
| 800 | 4.8 | 1.3
|
Nikon D40 | 400 | 8.0 | 1.8
|
| 1600 | 5.6 | 2.0
|
Nikon Coolpix 990 | 100 | 4.0 | 2.0
|
| 200 | 4.4 | 1.60
|
| 400 | 5.6 | 0.80
|
Nikon D80 | 100 | 7.1 | 2.1
|
| 400 | 7.1 | 2.1
|
| 1600 | 9.0 | 2.8
|
Olympus Camedia C-350 zoom | 128 | 5.2 | 2.30
|
Sony Cybershot DSC-P120 | 100 | 5.2 | 2.3
|
| 100 | 10.0 | 2.2
|
| 400 | 5.2 | 1.7
|
Sony Cybershot DSC-W1 | 100 | 5.2 | 1.8
|
| 200 | 10.0 | 2.0
|
| 200 | 5.2 | 1.9
|
| 400 | 5.2 | 1.7
|
The column "Ratio real/nominal" is defined as the measured ISO/SOS
sensitivity divided by the number provided by the camera. For these cameras,
the luminances (in cd/m2) provided by this pages should be
divided by this number. For example with a Canon Powershot A540, this page
may report a black level of 0.5 cd/m2, but actually, the black
level is 0.5/1.4 = 0.36 cd/m2
Contact
I'd like to hear your feedback. Mail me at lcdtest /at/ lagom /dot/ nl.