Petteri's Pontifications
My musings about photography, mostly.
RSS feed
Curves

Curves

The first post-processing lesson was about manipulating tonal range and balance through the levels control. With Levels, you can change the black point, white point, and midpoint (aka gamma). With the possibility of doing this for each of the channels separately, this is often all the control you need. There are times, though, when you need finer control over different parts of the tonal range. Here is where the Curves control comes in. This lesson will explain what the curves control does, and demonstrate three common situations in which it can be used effectively.

What does Curves do?

The Levels control shows you a histogram of all the tones present in the picture. The Curves tool also manipulates the tonal range. However, there's a critical difference: by looking at the levels histogram, you can actually see meaningful information about the tonal qualities of the picture, but the Curves tool shows you nothing. Instead, the Curves tool shows you what changes you are about to make to the tonal balance.

The curve you see on the curves tool is a simple plot of input levels to output levels: what you have before the manipulation and what you will get after it. On the X (horizontal) axis, you see the input tones, left to right from black to white. On the Y (vertical) axis, you see the output tones, bottom to top from black to white. To get a grasp of what this means, pick a point on the X axis, draw a straight line up until you hit the curve, then draw a straight line right until you hit a point on the Y axis. If you make no changes at all, each point on the X axis will be mapped to exactly the same value on the Y axis, and the curve will be a straight line from the bottom left to the top right.

So, to make a change in the tonal balance of the picture through the curves control, you change the shape of the curve. This will map values from the X axis to different values on the Y axis, and thereby change the tones. If you push up a section of the curve, the tones in that section will be lightened. If you pull it down, they will be darkened.

So, the power of the curves tool is that you can selectively manipulate different sections of the tonal range. For example, suppose you had taken a picture at high ISO, and found that the noise was distracting in the dark areas, but you were pretty happy with the midtones and highlights. With curves, you could pull down the leftmost section, darkening the shadows and also damping the noise, while leaving the midtones and highlights untouched.

When do you need it?

For most situations, Levels gives quite enough control over the tonality. However, there are situations when it doesn't quite cut it.

High-contrast situations

For example, suppose you've taken a picture in the shadow, but with a few highlights of direct sunlight. You've exposed it in such a way that you haven't lost detail in the highlights. This means that the midtones and shadows are dark, with a clear "jump" from them to the highlights. Now, if you manipulated this with Levels, you could get very nice shadow/midtone balance by clipping the highlights and changing the gamma. However, this would cause the highlights to burn through. On the other hand, if you only shifted the gamma, you would brighten up the picture, but to get the midtones looking right, you would have to push up the shadows excessively. With Curves, you can nail down the shadows, increase contrast in the midtones, yet retain the highlights.

High-ISO images

High-ISO images have a good deal of noise/grain. This is particularly distracting in the shadows. You can greatly improve their look by pulling down the shadows, possibly pushing up the highlights, and thereby increasing contrast in the midtones. When you darken the shadows, you also darken the noise, rendering it a lot less distracting. This also gives the pictures a slide-like look.

The S curve

By far the most common type of curve you'll use for curves manipulation is the S curve. It's a curve that looks like a slanted S. In its "pure" form, the midpoint of the curve doesn't change, but you pull down the shadows to the left of it and push up the highlights to the right. This curve will maintain the average tonality of the picture and retain all shadow and highlight detail, but will increase contrast in the midtones, giving the picture more "zing." The color will be richer, the shadows deeper, and the highlights brighter. Of course, too much of a good thing is always bad: overdo it, and you'll end up an excessively contrasty image.

Here's an S curve:

Most curves manipulations are done with variations of the S curve. If the picture is too dark, push up the highlights more than you pull down the shadows, so that the curve shifts towards the left. If it's too light, do the opposite. You can also nail down specific sections of the curve and push or pull segments of it. Keep the preview on, and look at the changes your manipulation will make, and try to get it right the first time: the same problems of losing information through "toothcombing" apply to curves manipulations as to levels.

Using levels and curves

Since you don't see the histogram when making curves manipulations, it's generally not a good idea to clip the tonal range with the curves tool -- it's very easy to overdo it by mistake. Instead, use the Levels tool first for clipping (but don't adjust the gamma), and then do the fine tuning with the curves tool. This way you will lose a minimum of data: clipping will spread out the histogram but won't cause any values to merge, so you're only losing "empty" data. If you shift the gamma, however, parts of the histogram will bunch together, causing values to merge and information to be lost.

So, use Levels first if you need to clip the histogram, and then use Curves for fine control of tonal balance.

Increasing contrast

The simplest application of Curves is just by using a "pure" S curve to increase contrast in the midtones for pictures that look flat or undersaturated. Add a handle point halfway between the left and the center of the curve and pull it down a little. Add another one opposite it, and push it up a little. Adjust to taste, and apply. That's all there's to it.

Note: The effect is very similar to what you'd get by clipping the histogram in Levels, and indeed if the histogram is completely flat near the edges, you might as well use Levels to do it. However, if it's not completely flat, you can't get enough contrast in the picture without losing some shadow or highlight detail. The S curve works very well in this situation.

Pulling an exposure

Darkening an overexposed image is known as pulling an exposure. This is actually pretty rare with digitally originated photos, because digital cameras tend to blow the highlights very easily -- if a picture is overexposed, it's very likely ruined beyond repair. With curves, this is very easy: just grab the midpoint of the curve and pull it down until you've got the brightness you want. However, this will often darken the highlights too much: add a point near the right end of the curve, and push it up a bit, to make a sort of distorted S curve. Manipulate to taste, and apply when happy.

Pushing an exposure

Lightening an underexposed image is known as pushing an exposure. This is quite a common operation when dealing with images from digital cameras: quite often, you will need to deliberately underexpose in order to retain the highlights. Digital cameras have a surprising amount of detail hidden in the shadows that you can bring out with a curves manipulation, even if you've shot in JPG (although for this purpose, RAW definitely gives you more room to play with). (Incidentally, this is known as exposure latitude.)

To push an exposure, grab the midpoint of the curve and push it up. However, this often lightens the dark end of the shadows too much and accentuates noise, which is a problem especially with higher-ISO pictures. To avoid this, add another point near the left edge of the curve and pull it down. This will keep the deep shadows dark, but will brighten up the midtones.

Special situations

Finally, there are some pictures that you just can't get right without a curves adjustment. I've picked one like this for my example: it's the same one I used for the Levels lesson.

The problem is that the black patches of the cat's fur are very dark, yet the nose is a lot brighter than anything else in the picture. Furthermore, the picture has a dirty, yellow cast. So, I had three things I wanted to do:

  1. Correct the color cast.
  2. Bring out as much detail as I could in the dark fur.
  3. Retain the detail on the nose.

Here's what I did:

  1. I adjusted the blue curve to get a nicer colour cast.
  2. I adjusted the RGB curve very carefully: I pushed up the curve from the middle, then pulled down a tiny bit from the highlights and pushed up a tiny bit from the shadows, to get a better tonal balance. I paid careful attention to the nose and the black fur.

Here's the cat after the manipulations:

Compare it to the one done only by levels manipulation:

In particular, look at the nose and the black fur. You'll see that the highlights are blown on the second one, but detail is retained on the first one. The curves-manipulated version also looks less washed-out, yet there's more visible detail in the dark fur.

Extra credit: White balancing

You can achieve extremely fine control over color balance with the curves control. By manipulating each of the channels separately, you can white balance the shadows, midtones, and highlights to your taste, mimicking different kinds of color film, for example. The principles are the same as with manually white balancing with Levels:

  • If there's too much magenta, add green.
  • If there's too much yellow, add blue.
  • If there's too much cyan, add red.

With curves, you can do this selectively in different parts of the tonal range. If the shadows have a magenta cast, push up the left edge of the green curve. If the highlights look cyan, push up the right edge of the red curve. In problem situations, this can be a real life-saver, but for correctly white-balanced pictures, you'll rarely need to do it.

Summary

Curves manipulation is easy. Most commonly, you'll use it to increase contrast in the midtones while pushing or pulling the exposure. Remember the following points:

  1. Use Levels before Curves to clip off the flat parts of the histogram.
  2. If you intend to use Curves for tonal control, don't shift the gray point (gamma) in Levels: you will unnecessarily lose information.
  3. Use an S curve to increase contrast in the midtones.
  4. Push up the midpoint of an S curve to brighten an underexposed picture, while nailing down the shadows with a control point to the left.
  5. Pull down the midpoint of an S curve to darken an overexposed picture, while nailing down the highlights with a control point to the right.

Assignments

  1. Suppose you wanted to turn the picture into a negative with the curves tool. What would you do?
  2. Pick a flat picture. Use first Levels and then Curves to give it more zing. Show the picture before and after, and describe what you did.
  3. Pick a high-contrast picture. Use Curves to adjust the tonal balance to your taste. Watch for the highlights and the shadows. Present and discuss.
  4. Pick an underexposed or overexposed picture. Use Levels and Curves to correct the exposure. Present and discuss.