1. Photo
  2. Editing & Post-Processing

How to Make Local Contrast Adjustments With Curves in Adobe Photoshop

Scroll to top
Read Time: 15 min

Curves are powerful: they offer speed and efficiency in your post-production workflow like nothing else. For a novice, though, curves might even be a little too powerful. Fear not! Curves are not as complicated or overwhelming as you might think. 

In this tutorial we’ll go through the main features of the Curves Adjustment Layer, where those features come from, and how to use curves effectively to make local contrast adjustments to your images.

We're going to touch on a few prerequisites before we get into the technique. Here's what we cover in this tutorial:

  1. How Tones, Contrast, and Curves Work
  2. How to Read Tone Curves and Histograms
  3. How to Use Control Points
  4. Order of Operations
  5. How to Make Local Contrast Adjustments With Curves

Are you ready? Let's dive in.

Part 1. Dynamic Range

When you create a new Curves Adjustment Layer in Adobe Photoshop you get a tone curve, a histogram, and a number of other options and buttons. What are these things?

It's All About Dynamic Range

First, keep this in mind: every digital image is actually a grid of tiny little pixels.

Second, all pixels have a value.

The dynamic range of a photograph is how many shades of grey, from black to white, there are in an image. In an 8-bit greyscale digital image, such as the one we'll consider below, each pixel can be one (and only one) of 256 discrete intensities, or shades of grey. James Thomas recently gave us an overview of colour models, and I highly recommend it if you want to dig deeper into how digital images work.

The histogram is a handy visualization. It is, essentially, a picture of your picture: it tells you, for any given intensity, how many pixels with that specific value of grey exist in the image. It's a quick way to get an impression of the dynamic range in your photograph without looking at the image itself. This separation of photographic values from visual information is very useful, in ways we'll explore below.

The curve is a way to manipulate the distribution of those tones using a graph, and the focus of this tutorial. Read on for more!

Part 2. How to Read Tone Curves and Histograms


As Harry Guinness explained: "The Curves Tool is a graph. On the X-axis you have the Input level and on the Y-axis you have the Output level. Each axis has values that range between 0 and 255." From left to right and bottom to top:

  1. At zero, on the far bottom left of the graph, is black: pixels that have no intensity.
  2. Just up and to the right of zero is the shadows, which photographers also call "darks."
  3. In the middle of the graph is middle grey, surrounded on either side by "mid-tones."
  4. Up and to the right are bright areas, or "highlights."
  5. At the top right, at a value of 255, is white: pixels that have full intensity.

The top part of the curve controls the highlights, centre the midtones, and the bottom the shadows.

The Slope of the Curve Controls Contrast

Contrast is an expression of how much difference there is between tonal values in an image. We can measure two kinds of contrast: global contrast for the whole picture, and local contrast for a specific area.

Each new curve begins with a straight line at a slope of 45 degrees. This means there a one-to-one relationship between Input and Output, and the filter has no effect.

Changing the slope of the line changes the relationship between Input and Output. Creating a slope greater than 45 degrees increases contrast, a slope lower than 45 degrees lowers it. 

Moving the curve also adjusts values. Moving the whole curve down results in a lower output value: the image darkens. Moving the whole curve up results in a higher output value: the image lightens.

Looking at the histogram for our example, you can see that most pixels are in the middle of the tonality range, almost evenly distributed between shadows and highlights, with a dip at the midtones. There are also plenty of pixels in both the darks and lights. This tells us that we have an image with a relatively even distribution of tones and good all-round exposure. Here is the actual image so you can see that that’s a fair representation:

Before local adjustmentBefore local adjustmentBefore local adjustment
The image I'll be working on. Photograph by author.

A fairly flat image straight out of camera is actually normal and desirable. In order to protect the highlights and shadows, digital camera manufacturers tend to take a conservative approach to interpreting the raw, linear information from their sensors into a photographic image. Better to start a little flat than lose important information to excessive contrast!

The Power of Contrast

Our eyes are drawn to towards areas of contrast. Think of a polar-bear in the snow, he'd be hard to spot right? That's low contrast. Now think of a panther against the snow; he'd be much easier to see: that's high contrast. The trick with getting the right amount of contrast (and this is largely subjective) is to make sure your whites aren't too white and your blacks too black.

In plain terms, contrast is the difference between the light part and dark parts of your image. Increasing that difference overall will 'pop' your image, and decreasing it will make it look flatter, or duller. Global contrast adjustment is useful in a general way, but it actually isn't all that powerful when it comes to making particular images sing. For that, we need local contrast adjustment.

We use local contrast adjustments to add emphasis in an image, or particular parts of that image, whether that's through increasing or decreasing. We adjust the distribution of tones in an image to make full use of the dynamic range and, most importantly, direct the viewer's eye. How you do that will completely depend on the content of each of your photographs. 

Part 3. How to Use Control Points

You might think this all sounds similar to the Levels tool, and you’d be right, but a key difference is that with Curves you can use control points along your diagonal line for fine control instead of rough adjustments to the tones within =black, white and midtone ranges.

Control points are coordinates on your curve. You can drag these coordinates up or down to change the relationship between Input and Output. Where you place your point determines which part of the tonal range you want to change.

To illustrate, I've made three control points on our demonstration image: one near the bottom, one in the middle and one near the top. I adjusted these to make the popular ‘S’ curve, and you can see the effect is has on the image:

s curves curves curve

The shadows become darker, the highlights brighter and the mid-tones stay relatively unchanged but have more contrast. The ‘S’ curve adds contrast in the midtones while reducing contrast in the highlights and shadows. (It also adds saturation in a colour image.) A curve like this is a common step in the global adjustment process.

Moving the control points can seem a bit unintuitive, but it's simply a case of clicking, holding and dragging them to where you want them to be:

dragging control pointsdragging control pointsdragging control points

Once a point is selected you can also move it with the arrow keys on your keyboard. This is good fine adjustments. Hit Tab to cycle between points.

Drag a point off the graph and release to remove it.

Part 4. Order of Operations

Now that we’ve been through the basics of curves and control points let's review the workflow for adjusting local contrast.

Step 1: Complete All Global Corrections and Adjustments

I know it's temping to start tweaking your favourite images right away, but make sure to move every picture in your set through global corrections and adjustments before you do any local adjustments. Making local adjustments on one image before you've finished the global work on the others will quickly lead to your group of images becoming out of sync, and multiplies the difficulty of keeping the set matching. Always move all the pictures in a set to the same stage of post-production together.

In the case of our example, and probably in your case too, a gentle 'S' curve as illustrated above will be enough of a global change before you get into your detailed changes.

Step 2: Make Needed Local Corrections

Some images need a little extra remediation. Before you do local adjustments, do your local corrections. This includes correcting vignetting, barrel distortion, fringing, chromatic aberration, and so on. Correcting these things after you've made local contrast adjustments is much harder, so correct them now.

Step 3: Evaluate the Image and Make a Plan

Alright. Global corrections and adjustments complete, local corrections made. Now you can see your picture clearly. Look at your image. What is it all about? What's special about it? How does it make you feel? Make a note of these things in your work log.

What does this picture need? What elements do you want add emphasis to? Are there specific parts of your image that need more contrast? Maybe there are areas that actually need a decrease in contrast! These are all questions you need to ask yourself when deciding how you want your image to look. Write down these notes in your work log.

The adjustment process may become intuitive, one change leading to another, but it should always come back to your evaluation of the image, your imagination for it, and where you want it to go.

Step 4: Make Local Adjustments

For each major local area that you want to adjust, make a new curves adjustment layer. More on this process below.

Step 5: Re-evaluate and Compare

After you've completed a round of adjustments, stop and look at your image again. Did the adjustment create the image you imagined when you were making a plan? Maybe your understanding of the image has changed. That's OK! If it has, make a note in your work log.

Also look at how your image compares to the rest of the group. Does it still match? If not, you may need to alter your adjustments.

Part 5. How to Make Local Contrast Adjustments With Curves

In our example image, an ‘S’ curve did a good job on a global adjustment level, as you saw above, but there are several parts of the image that need local adjustment.

The sky is still quite flat and I’d like more drama. I really like all the different and contrasting textures in the image—the roughness of the wood, the fluffiness of the clouds— and how they create atmosphere and feeling of depth. I want to bring those things to the fore. So how do we achieve that? My aims are to make the sky darker, make the clouds 'pop' more, and to bring out some of the darker shadows around the boat and beach. Each of these can be tackled in their own stage.

Step 1: Add a Curves Adjustment Layer

Add a Curves Adjustment Layer (click the New Adjustment Layer button at the bottom of the Layers panel) and create a control point on the curve in the tonal range you want to adjust.

Using the ‘in-image’ selector (the pointing hand), I selected the sky:

This shows me where on my curve the tonal range of the sky, falls. By click-holding and dragging downwards, I darkened the sky. Be aware that this also affects other elements in the same tonal range—for me this included some of the stony beach—and so further adjustments must be made to compensate for that change.

This specificity is where using curves lets you go much further than levels.

Step 2: Use a Layer Mask to Restrict Your Adjustments to Specific Areas

As with all adjustment layers, you don’t work on the actual pixels directly. The curves layer has been created with a white Layer Mask, meaning you can paint over it to reduce the effects of the layer within specific parts of your image.

Now paint out the unwanted adjustments to your image using the Layer Mask using a black Brush (B).


Using a soft, low opacity brush, as illustrated above, paint over any areas that don't require the adjustment. So, in the case of our example, we can see the foreground tyre and boat shadows have become far too dark.

layer masklayer masklayer mask
This is the layer mask shown as a rubylith (Alt-Click on the Layer Mask thumbnail) so that you can see where I've painted. Some places I've gone over more heavily than others with a brush at about 50% opacity so that I was able to work in more gradually and avoid getting distinct lines where I painted. 

In the above image, red is where the filter is blocked by the mask. Everything else is where the filter is applied. This is the result:

after maskafter maskafter mask
After adjustments

The sky is now looking much better. The next step is to make the boat, clouds, beach and water highlights 'pop' a little more. So we go back and create a new Curves Adjustment Layer.

Step 3: Repeat!

Using the same method as last time, I used the ‘in-image’ selector to grab the boat highlights (circled) and dragged up to brighten them.

brighten highlightsbrighten highlightsbrighten highlights
Dragging the highlights up on the boat, brightens them but also similar tonal areas across the image

This also brightened similar tonal areas across the image. The clouds brightened, as did the light areas of beach and sky. This is not what I wanted, so it's time to deploy the masks again.

As there were smaller areas to adjust this time, it was easier to invert the layer mask (Ctrl-I) and work on brushing in the changes rather than brushing them away.

second layer masksecond layer masksecond layer mask
The layer mask shows where I've painted out the effects

In the above image, you're seeing the red areas where the changes weren't applied, and then the lighter pink areas where I've brushed in our highlight changes; focusing mostly on the boat but then bringing out a little of the lighter beach stones, the water highlights and part of the clouds.

after highlight adjustmentsafter highlight adjustmentsafter highlight adjustments
After the highlight adjustments

Potential Problems

As with all methods of editing, there has to be a trade-off. With curves, you’re essentially stretching or compressing tones, and so go too far and you’ll get strange results; often called posterisation, which tends to occur when graduated tones are stretched:

If you try to lighten and dark similar areas of tonality, then you'll get posterisation.

The above is a gross exaggeration (you'd never really use a curve like that) but demonstrates the effects you might get if you try to do too much in a similar area on one curves layer.

When in Doubt, Work From Big to Small

If you can't solve all the everything one layer, don't stress: just make another. It's much better to work on one layer per 'problem' and adjust from there, working from the largest to the smallest areas you want to adjust.

Use multiple layers and focus each layer on one particular task. This will help you to stay organised (remember to name your layers!) and let you go back and make adjustments as you build up your image.

Almost Done

As with most adjustments of this kind, it's often actually better to go a little too far, knowing that you can turn down the opacity on your layers afterwards if you need to tone it down. Try grouping your changes into a folder. Just click the folder icon at the bottom of the Layers panel and then drag your associated layers into it:

You can then turn down the Opacity on the folder, which will affect all the layers, or you can go into the folder and adjust each one separately. Here I toned down all the layers by 25%, to 75% opacity.

All Done

Alright, breathe out. Let's look at our test image again.

Final image resultFinal image resultFinal image result
All done!

The initial image looked a bit flat, everything was grouped around the midtones area on the historgram. There wasn't much difference between the dark areas of the image and the light. Adding a little global contrast helped, but that only goes so far! Sometimes we don't want to changes to an entire image. Particularly if you have a lot of tonality in the same range, as with this  image, you really do need local adjustments to direct the viewer's eye.

The image I started with had very little little definition or distinction between the boats, the tyre, the beach or the sky. They each have their distinct features, so using local contrast adjustments to bring those out made sense. As the clouds were already quite light, darkening the sky helps them stand out. Likewise, by concentrating on the highlights of the boat, beach and water using a curves adjustment layer and layer mask, we can create lighter areas to draw the eye, without overdoing it in areas that are already light. I like the contrasting textures of these areas now.

And Now You Can Wield Curves With Precision

Curves! What an excellent tool. As the versions of Photoshop progress, it just gets better. I recommend really getting to grips with curves and familiarising yourself with the settings and even the effects it can have on different types of images. 

Starting with greyscale images is easier because you don’t have to worry about over saturation and it’s easier to see the differences your changes make. Plus, black and white images really lend themselves well to high contrast, so they’re great to practice on. Of course, not all images require more contrast and you can use curves just as effectively to reduce it as you can to add it!

Try using the presets first and seeing what each does and the effect is has on the image, then use this knowledge to adjust your pictures further. Remember to keep adjustments subtle and realistic or you'll get anomalies appearing in your pictures. You can always further adjust these by making good use of your layer mask and painting any errors away.

Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Photo tutorials. Never miss out on learning about the next big thing.
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.