As we said earlier, if Levels is an automatic transmission, Curves is a stick shift. It's indispensable when you're stuck in the snow or mud, but it takes a bit more effort to master. The Curves command offers a different way of stretching and squeezing the bits, one that's more powerful than Levels. But it also uses a different way of looking at the data.
When you use Levels, the histogram shows you the shape of the data you're working with. Curves doesn't do that (except through the Histogram palette). Instead, it displays a graph that plots the relationship between input level and output level (unaltered and altered). Input levels run along the bottom, and output values run along the side. When you first choose the Curves command, the graph displays a straight 45-degree linefor each input level, the output level is identical (see Figure 6-24).
Figure 6-24. Curves dialog box
Curves versus Levels
With the exception of the clipping display, anything you can do in the Levels dialog box, you can also do with Curves (see Figure 6-25). When you move the middle input slider in Levels to adjust the gamma, for instance, it's almost the same as moving the midpoint of the curve right or left. Setting the other four sliders is equivalent to setting the endpoints of the curve.
Figure 6-25. Levels and Curves
Tone curves are probably the most useful global image-manipulation tool ever inventedthey're indispensable for color correction, but they're also very useful for fine control over grayscale work. Gamma corrections like the one in Levels let you change the broad distribution of midtones, but they only let you create very basic curves ("move the 50-percent point to here") with two endpoints and a single midpoint. Curves lets you make very precise adjustments to specific parts of the tonal range.
You change the relationship between input level and output level by changing the shape of the curve, either by placing points or by drawing a curve freehand (with the pencil tool). We almost always place points on the curve because it's much easier to be precise that way. All the settings you can make with Levelswhite point, black point, midtones, maximum shadow, and minimum highlightyou can make with Curves too, but the way you go about it is slightly different.
Before we get into adjusting curves, though, there are a couple of ways to customize the Curves dialog box to your preferred way of working.
Tip: Customizing the Curves Dialog Box
Some people are happy thinking of tone in terms of levels from 0 to 255. Others want to work with dot percentages. The Curves dialog box allows you to switch from one to the other by clicking the arrowheads in the middle of the gray ramp.
When you display levels, the 0,0 shadow point is at the lower left and the 255,255 highlight point is at the upper right. When you display using percentages, the 0,0 highlight point is at the lower left and the 100,100 shadow point is at the upper right. You can switch freely between the two modes at any time.
Tip: Change the Grid
You can also change the gridlines of the Curves dialog box. The default displays gridlines in 25-percent increments, but if you Option-click anywhere in the graph area, the gridlines display in 10-percent increments instead (see Figure 6-26). The 25-percent grid lets prepress folks think in terms of shadow, three-quarter-tone, midtone, quarter-tone, and highlight, while the 10-percent grid provides photographers with a reasonable simulation of the Zone System.
Figure 6-26. Changing the grid in Curves
The great power of the Curves command comes from the fact that you aren't limited to placing just one point on the curve. You can actually place up to 16 curve points, though we rarely need that many. This lets you change the shape of the curve as well as its steepness (remember, steepness is contrast; the steeper an area of the curve, the more definition you're pulling out between pixel values).
For example, an S-shaped curve increases contrast in the midtones, without blowing out the highlights or plugging up the shadows (see Figure 6-27). On the other hand, it sacrifices highlight and shadow detail by compressing those regions. We often use a small bump on the highlight end of the curve to stretch the highlights, or on the shadow end of the curve to open up the extreme shadows.
Figure 6-27. S-curves
The info readout
Whenever you move the cursor into the graph area, the Input and Output levels display (at the bottom of the dialog box) changes to reflect the cursor's x,y coordinates on the graph. For example, if you place the cursor at Input 128, Output 102 and click, the curve changes its shape to pass through that point, and the readouts become editable fields. All the pixels that were at level 128 change to level 102, and the rest of the midtones are darkened correspondingly (see Figure 6-28).
Figure 6-28. The numeric entry fields
Taking the midpoint of the curve and moving it left or right is analogous to moving the gamma slider in Levels. You can follow the shape of the curve with the cursor, and watch the info readout to determine exactly what's happening to each level.
Handling black and white points
You can clip the black or white points by moving the endpoints of the curve horizontally toward the center of the graph (just like moving the input sliders in Levels; see Figure 6-29). For instance, if you move the black end of the curve directly to the right so that the info readout reads Input 12, Output 0, you've clipped all the pixels at level 12 or below and made them all level 0. This is exactly the same as moving the black input slider in Levels from 0 to 12.
Figure 6-29. Clipping and compressing in Curves
You can also limit the highlight and shadow dots by moving the endpoints of the curve vertically toward the center of the graph (like moving the output sliders in the Levels dialog box). For example, to limit the highlight dot to 5 percent, move the highlight end of the curve until the Output level displays as 243or (if you're displaying percentages) 5 percent.
While the Curves dialog box lacks the black and white clipping displays of Levels, it has an extra cool feature that shows you at a glance where any point in the image lies on the tonal curve. When the Curves dialog box is open, the cursor automatically switches to the eyedropper when you move it over the image. If you hold down the mouse button, the info display in the Curves dialog box shows the input and output levels of the pixel(s) under the eyedropper, and a hollow white circle shows the location of that point on the curve (see Figure 6-30). This makes it very easy to identify the levels in the regions you want to change, and to see just how much you're changing them.
Figure 6-30. Curves dialog box with eyedropper
For some reason the eyedropper feature doesn't work when you're adjusting the composite (CMYK) channel in a CMYK image, though it does when you're adjusting individual channels.
Automatic curve point placement
A nifty feature in Curves is automatic curve point placement. When you Command-click in the image, Photoshop automatically places a point on the curve for the input value of the pixel on which you clicked. When you're working in the composite channel of a color image, you can place curve points in the individual channels by Command-Shift-clicking. Once the point is placed, you can adjust it by dragging, by pressing the arrow keys, or by making use of the following tip.
Tip: Numeric Curve Entry
An equally nifty feature in Curves is that you can specify curve points numerically. We use this in two ways:
Other Curves command goodies
Like Levels, Curves has some hidden goodies. The Preview feature and the instant before-and-after work exactly the same as in Levels, as do the Auto and Options buttons, and the Option/Alt key provides the same auto-reset featureOption-click Cancel to reset the curve. Press Control-Tab to cycle through the points on the curve, selecting the next one with each press, or reverse direction by pressing Control-Shift-Tab.
Dragging curve points with the mouse is almost always the least efficient way to proceed. Once you master the various shortcuts, you'll find that Command-clicking to place points, and then adjusting them using the keyboard, lets you make very precise edits very quickly.