Follow Ron on Twitter
When it comes to tonal and color adjustments, most photographers start out their learning with Levels. The advantage of Levels is that it is easy to learn and use. However, eventually, most photographers progress to the point where they want more control over their image editing than Levels can provide. In that case, the next step is Curves. Curves can do most everything that Levels can, but it provides photographers with much more power in the area of tonal and color control. While Levels is limited to simple adjustments of the midtone contrast through the use of the Gamma Input Slider, Curves allows for minute tonal adjustments along the entire tonal range of an image.
For those that have already read my series on Levels, (Levels -- Part I), much will seem similar. This is as it should be. Curves performs the same basic functions as Levels. The difference is in the power and flexibility available with Curves. Thus, the tasks, and the methods used to perform them, are very similar for the two tools. The difference will be in the details.
Curves is used for five tasks:
When it comes to setting the shadow values, highlight values, and contrast, there are six ways that Curves can be used:
In order to avoid repetition of material on histograms and terminology, it is assumed that the reader has already read at least Part I of the Levels series (Levels -- Part I). Like Levels, Curves is a tool that is used to control contrast and to adjust colors. With that in mind, it is not surprising that the use of Curves is tied to the histogram. However, unlike Levels, Curves does not include a histogram in the dialog box. Rather, it is necessary to launch the histogram by choosing Windows/Histogram.

Figure 1 shows a histogram of an image that could use some Curves help. The area on the far left end of the histogram has few, if any, pixels. Since this end of the histogram displays the darker pixels, the lack of pixels at this end shows that there are few true blacks or very dark pixels in this image. The area on the right end of the histogram also has few, if any, pixels. Since this end of the histogram displays the lighter pixels, the lack of pixels at this end shows that there are few true whites or very light pixels in this image. This means that the image lacks contrast. In addition, the majority of the pixels are shifted toward the left side of the histogram. Thus, the image is a bit on the dark side. In some cases, that might be the way the image should look. However, that is not the case for this image.


Figure 3 shows the Curves dialog box. At the top of the dialog box is the Channel pop-up. This allows the photographer to choose whether to edit the RGB channel or one of the three individual color channels (i.e., red, green, or blue).
In the center of the dialog box is a graph. This graph can be thought of as a tonal map. Along the bottom is the Input axis. This axis indicates the input values of the tones (from 0 to 255) in an image before any changes are made with Curves. As can be seen in the bar directly below the graph, the tones run from black on the left to white on the right. Along the left is the Output axis. This axis indicates the Output values of the tones (from 0 to 255) in an image after changes have been made with Curves. As can be seen in the bar directly to the left of the graph, the tones run from black on the bottom to white on the top.
Through the middle of the graph is a diagonal line. This is the curve. The lower left of the curve represents the shadows, the middle represents the midtones, and the upper right represents the highlights. Manipulating the shape of the curve changes the tonal values in the image (more about that in a bit)
In the lower left hand corner of the dialog box are the Input and Output labels. For now, no values are listed. Once a point on the curve is created, the Input and Output values for the tone will be listed in the associated boxes that will appear.
To the right of the Input and Output labels is the point and freehand tools. For now, Curves is in the point mode. This mode allows the curve to be modified by clicking on the graph. Each click will add a point to the graph (up to fourteen points can be added). The curve is then modified by dragging the points around the graph. The freehand tool allows a curve to be directly drawn on the graph. The shape of this curve will define the relationship between the Input and Output tonal values.
In the lower right corner of the dialog box are three Eyedroppers. The left Eyedropper is the Black Eyedropper and is used to set the black point or shadow values (depending on how it is configured; we will use it to set the shadow values). The right Eyedropper is the White Eyedropper and is used to set the white point or highlight values (depending on how it is configured; we will use it to set the highlight values). The middle Eyedropper is the Gray Eyedropper and is used to set neutral gray in the image.
On the right side of the dialog box is a set of buttons. These buttons allow for the saving and loading of Curves configurations as well as the use and settings of Auto Curves.



The most common way to modify a curve is to click on the curve. This will create a point on the curve for each click. These points can then be moved around to modify the curve. Figure 6 shows Curves with two such points added. The upper point is currently selected. The Input and Output tonal values can now be read below. For this point, the original value of the tone was 155. The modification of the curve has changed the value to 151. In other words, this tone has become slightly darker.
If so desired, the values of any point can be modified by directly typing into the Input or Output boxes.



Both Levels and Curves allow for contrast adjustments. The problem with Levels is that the adjustments are rather limited. While this makes the adjustments quick and easy, it does not allow for fine contrast control. On the other hand, Curves provides the ability to make fine adjustments to contrast. Since up to fourteen points can be added to a curve, and moved on the graph to alter contrast, the control over contrast that is gained by using Curves is rather substantial.
In order to utilize Curves to edit images, it is necessary to understand how some basic curves impact the contrast of an image. To better understand these curves, three things need to be kept in mind:
The following curves are fairly simple. Sometimes, they are used directly to edit an image. At other times, more complicated curves are used. However, even when more complicated curves are used, they are generally combinations of these more basic curves.

Lighten: Figure 10 shows a curve that lightens the entire image. As can be seen at the bottom of the dialog box, the point on the curve had an original, tonal value (Input) of 94. After the editing, the value is 126 (Output). Thus, this tone, as well as all others on the curve, has been lightened.
However, an even better understanding of the effects of the curve is discovered by looking at the histograms of the image both before and after the application of curve. These histograms are shown in Figures 11 and 12. As can be seen when comparing these two histograms, the main impact of the curve is to shift the histogram to the right. This lightens the image. However, this is not the only thing that is going on. The gaps on the left side of the histogram demonstrate that the shadow tones are being expanded. This increases the contrast of the shadows but also can cause posterization (banding). The spikes on the right side of the histogram demonstrate that the highlight tones are being compressed. This decreases the contrast of the highlights. In addition, tones are lost due to quantization error (a loss of data due to rounding errors when new tones are calculated).
Whenever tones are expanded or compressed, a certain amount of image degradation occurs. Thus, this curve illustrates a key point -- the use of Curves introduces a certain degree of image degradation.



Darken: Figure 13 shows a curve that darkens the entire image. This is shown by the point on the curve. The original, tonal value was 129. After editing, the value is 80.
Figures 14 and 15 show the effects of this curve. The main impact of this curve is to shift the histogram to the left. This darkens the image. Further examination reveals gaps on the right side of the histogram that demonstrate that the highlight tones are being expanded. This increases the contrast of the highlights. However, it is unlikely to lead to posterization (as was the case in the shadows with the previous curve) since the highlights have a large number of tones (tones are not evenly distributed across the dynamic range of an image: highlights have lots of tones, shadows have few). The spikes on the left side of the histogram demonstrate that the shadow tones are being compressed. This is particularly bad -- tones are again lost due to quantization error. However, this is a much worse situation than when the highlights were compressed, with the previous curve, as the shadows have few tones to begin with. The loss of even a few due to quantization error will degrade the shadow image quality. In addition, the contrast of the shadows is decreased.



Midtone Contrast: Figure 16 shows a curve that increases the midtone contrast of the image. This is commonly referred to as an S curve and is very popular. This curve is created by placing one point at the middle of the curve in order to anchor it. Then a second point is placed on the lower end of the curve and pulled down (or a point could have been placed on the upper end of the curve and pulled up). When first viewing an image that has had an S curve applied, it appears that the curve has increased the overall contrast of the image. As will be seen in a moment, that is a bit of an illusion. Looking at Figure 16 shows that the steepness of the curve, in the midtone region, has been increased. Since steepness correlates to increased contrast. The contrast of the midtones has been increased.



Advanced Contrast: Figure 19 shows a somewhat more advanced curve that increases the contrast of the image. This curve is basically an S curve that has been modified with a few more points. Of particular importance are the two points located toward the ends of the curve. The lowest point on the curve increases the tones in the darkest shadows and increases the contrast in this tonal region. This will improve the quality of the shadows and add some shadow detail. The highest point on the curve decreases the tones in the highlights and increases the contrast in this tonal region. This will improve the quality of the highlights and add some additional highlight contrast.
However, nothing is free when it comes to Curves. While this curve improved the quality of the shadows and highlights, it compressed some of the tones between the shadows and midtones as well as between the highlights and midtones. However, in most cases, it is superior to the S curve for improving the overall contrast of an image.









Targeting for Printing (Shadow Values): In those cases where it is desired to target an image for printing to a specific printer, the shadow values can be prepared with a curve like the one shown in Figure 28 (a better alternative is to use an ICC profile). By applying the point shown in this Figure, the tone with a value of zero is mapped to a tone with a value of 29. While this has targeted the shadow values for the printer, the slope of the curve is now less, resulting in a loss of contrast. This also reduces the number of tones in the image.
This curve performs the same function as the Black Output slider in Levels.



Targeting for Printing (Highlight Values): When targeting an image for a specific printer, the highlight values can be prepared with a curve like the one shown in Figure 31. By applying the point shown in this Figure, the tone with a value of 255 is mapped to a tone with a value of 226. While this has targeted the highlight values for the printer, the slope of the curve is now less, resulting in a loss of contrast. This also reduces the number of tones in the image.
This curve performs the same function as the white Output slider in Levels.

