{"course":{"slug":"image-editing","title":"Editing an Image","url":"https://addaly.com/learn/image-editing","level":"beginner","track":"create"},"lesson":{"slug":"levels-and-curves","title":"Brightness/Contrast is one knob for a problem with five","url":"https://addaly.com/learn/image-editing/levels-and-curves","position":30,"of":78,"minutes":10,"answer":"Set the black and white points first, shape the middle with Curves, and remember that contrast in the midtones is borrowed from the shadows and highlights.","keyIdea":"Set the black and white points first, shape the middle with Curves, and remember that contrast in the midtones is borrowed from the shadows and highlights."},"body":{"format":"markdown","text":"## Read the histogram before you touch anything\n\nThe histogram is a bar chart of your image: how many pixels sit at each brightness from black on the left to white on the right. It is the only honest report you have, because your screen brightness, the room you are sitting in and your own eyes all lie.\n\nThree things to read off it in two seconds:\n\n- **Data piled against the left wall**: shadows are clipped. Those pixels are pure black and hold nothing.\n- **Data piled against the right wall**: highlights are blown. Same problem at the other end, and far more visible, because clipped highlights read as a hole in the picture.\n- **A gap at one end**: the image never reaches black or never reaches white. That is the classic flat, hazy, grey photo, and it is the easiest fix in this course.\n\n## What Brightness/Contrast does, and why it is not enough\n\nBrightness/Contrast gives you two controls over the whole image at once. Raise brightness and every tone moves up together, including the ones already close to white, which run out of room and clip. Raise contrast and it pushes the ends apart from the middle.\n\nIn fairness, Photoshop's version stopped being a crude linear shift in CS3, around 2007, and now protects the extremes somewhat. But the shape of the problem does not change. A dull market photo usually needs the shadows deepened *and* the midtones lifted *and* the highlights left alone. That is three separate moves. One knob cannot do it, so what happens is that you push brightness until the faces look right and discover the sky has turned into white paper.\n\n## Levels and Curves are one tool at two levels of control\n\n### Levels: three numbers\n\nLevels (Ctrl/Cmd+L, or better, a Levels adjustment layer) gives you the histogram with three sliders under it.\n\n- **Black point** (left): drag it right until it sits where the data actually begins. Everything to its left becomes pure black. This one move fixes most flat images.\n- **White point** (right): drag it left to where the data ends.\n- **Midtone / gamma** (middle): drag left to lighten the middles, right to darken them, without moving the two ends you just set.\n\nHold **Alt/Option** while dragging the black or white slider in Photoshop and the preview shows only the pixels you are about to destroy. Stop when the first specks appear. Photopea has this too, and GIMP's Levels dialogue has the same three sliders.\n\n### Curves: the same idea with real control\n\nCurves is Levels plus the ability to bend the middle. The horizontal axis is the input tone, the vertical is the output. The default is a straight diagonal: every tone comes out as it went in.\n\n- Click the middle of the line and pull it down half a centimetre. The whole image darkens, ends held.\n- Click a quarter of the way from the bottom, pull down; click three-quarters up, pull up. That is the **S-curve**: the standard contrast move, and it is what \"punchy\" means.\n\nUnderstand what the S-curve costs. Contrast is not created, it is borrowed. Steepening the middle of the curve spreads the midtones over more output levels, and the only place that room can come from is the ends, which get flattened. That is why heavy contrast eats detail in shadows and highlights. Look at the top and bottom of your curve, not just the middle.\n\n> Figure: What an S-curve spends, and where it spends it. Line chart of Output tone, per cent against Input tone, per cent: A standard S-curve (0, 0) (12, 6) (25, 16) (50, 50) (75, 84) (88, 94) (100, 100); The default: every tone comes out as it went in (0, 0) (100, 100). Between a quarter and three quarters of the input, the curve is steeper than the diagonal: half the input range now covers two thirds of the output, which is what punchy means. That room is borrowed from the ends, which flatten: the darkest twelve per cent of the input is squeezed into six per cent of the output. Look at the top and bottom of your curve, not only the middle.\n\nThere is also a **targeted adjustment tool**: the hand icon in the Curves panel. Click it and drag directly on the photograph, and it moves the curve point for that tone. The fastest way to darken *that* wall without knowing where the wall sits on the curve.\n\n## Colour casts live in the channels\n\nThe dropdown at the top of the Curves panel switches from RGB to Red, Green or Blue individually. This is where colour correction actually happens.\n\nThe relationships are worth memorising, because they are just opposites: less blue is more yellow, less green is more magenta, less red is more cyan.\n\nSo a photo shot under a tube light with a green cast: switch to the Green channel, pull the middle of the curve down slightly. A sunset that has gone cold: lift the Red curve's midpoint and drop the Blue's. Small moves: a few pixels of drag is a lot.\n\nFaster still, when there is something in the frame you know to be neutral: use the grey eyedropper in Levels or Curves and click a grey wall, a white shirt in shade, a sheet of paper. The software calculates what correction makes that pixel neutral and applies it to the whole image. Choose a mid-grey, not a bright white, which is often clipped and therefore useless as a reference.\n\nIf you shot raw, do this in the raw developer instead: **darktable** and **RawTherapee** are free and their white-balance control is working with the original sensor data before it has been squeezed into 8 bits. That is strictly better than fixing it later.\n\n## The 8-bit tax\n\nEvery stretch you apply to an 8-bit image spreads 256 levels over a wider range, leaving gaps. Open the histogram after a strong Levels move and you will see it has turned into a comb: white vertical lines where no pixels remain. In a photograph of a market you will never notice. In a smooth gradient (a sky, a studio backdrop, a wall) those gaps show up as visible bands.\n\nTwo defences. Convert to 16-bit before big tonal work (**Image > Mode > 16 Bits/Channel**), which gives you 65,536 levels per channel and enough room to stretch. Or start from a raw file, which was 12 or 14 bits at capture.\n\nToday: open your flattest photo, add a Levels adjustment layer, and move only the black-point slider to where the histogram begins. Nothing else. That one move beats an hour of sliders."},"check":{"question":"A market photo looks flat and grey. Someone pushes Brightness and Contrast up until it looks punchy on screen. The sky loses all its cloud detail and the shadows still look muddy. What is the mechanism?","options":[{"text":"The sky was overexposed in camera, so the cloud detail was never in the file and no adjustment could have kept it.","correct":false,"tempting":"Assumes clipping existed at capture when the edit itself pushed those tones past white."},{"text":"One control moves the whole tone range together, so by the time the midtones look right the highlights have been pushed past white and cannot come back, while the shadows were never given their own move.","correct":true},{"text":"The image needs more saturation rather than more contrast; the flatness is a colour problem, not a tonal one.","correct":false,"tempting":"Reads a tonal range problem as a colour intensity problem."},{"text":"Brightness/Contrast should have been applied on a duplicated layer, which would have prevented the loss.","correct":false,"tempting":"Confuses a non-destructive habit with the tonal mechanism causing the clipping."}]},"prev":{"slug":"batch-background-removal","title":"Four hundred cut-outs, and the twelve that are wrong","url":"https://addaly.com/learn/image-editing/batch-background-removal"},"next":{"slug":"reading-a-histogram","title":"There is no correct histogram","url":"https://addaly.com/learn/image-editing/reading-a-histogram"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Brightness/Contrast is one knob for a problem with five', in Editing an Image. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/image-editing/levels-and-curves (Accessed: 31 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Brightness/Contrast is one knob for a problem with five","courseTitle":"Editing an Image","module":{"index":4,"slug":"tone-and-colour","title":"Tone and colour"},"answer":null,"keyIdea":"Set the black and white points first, shape the middle with Curves, and remember that contrast in the midtones is borrowed from the shadows and highlights.","hero":{"kind":"figure","figure":{"t":"figure","label":"Figure 4.1","figure":{"type":"line","title":"What an S-curve spends, and where it spends it","series":[{"label":"A standard S-curve","points":[[0,0],[12,6],[25,16],[50,50],[75,84],[88,94],[100,100]]},{"label":"The default: every tone comes out as it went in","points":[[0,0],[100,100]]}],"xLabel":"Input tone, per cent","yLabel":"Output tone, per cent","caption":"Between a quarter and three quarters of the input, the curve is steeper than the diagonal: half the input range now covers two thirds of the output, which is what punchy means. That room is borrowed from the ends, which flatten: the darkest twelve per cent of the input is squeezed into six per cent of the output. Look at the top and bottom of your curve, not only the middle."},"alt":"Figure: What an S-curve spends, and where it spends it. Line chart of Output tone, per cent against Input tone, per cent: A standard S-curve (0, 0) (12, 6) (25, 16) (50, 50) (75, 84) (88, 94) (100, 100); The default: every tone comes out as it went in (0, 0) (100, 100). Between a quarter and three quarters of the input, the curve is steeper than the diagonal: half the input range now covers two thirds of the output, which is what punchy means. That room is borrowed from the ends, which flatten: the darkest twelve per cent of the input is squeezed into six per cent of the output. Look at the top and bottom of your curve, not only the middle."}},"blocks":[{"t":"h2","id":"read-the-histogram-before-you-touch-anything","runs":[{"text":"Read the histogram before you touch anything"}]},{"t":"p","runs":[{"text":"The histogram is a bar chart of your image: how many pixels sit at each brightness from black on the left to white on the right. It is the only honest report you have, because your screen brightness, the room you are sitting in and your own eyes all lie."}]},{"t":"p","runs":[{"text":"Three things to read off it in two seconds:"}]},{"t":"ul","items":[[{"text":"Data piled against the left wall","b":true},{"text":": shadows are clipped. Those pixels are pure black and hold nothing."}],[{"text":"Data piled against the right wall","b":true},{"text":": highlights are blown. Same problem at the other end, and far more visible, because clipped highlights read as a hole in the picture."}],[{"text":"A gap at one end","b":true},{"text":": the image never reaches black or never reaches white. That is the classic flat, hazy, grey photo, and it is the easiest fix in this course."}]]},{"t":"h2","id":"what-brightness-contrast-does-and-why-it-is-not-enough","runs":[{"text":"What Brightness/Contrast does, and why it is not enough"}]},{"t":"p","runs":[{"text":"Brightness/Contrast gives you two controls over the whole image at once. Raise brightness and every tone moves up together, including the ones already close to white, which run out of room and clip. Raise contrast and it pushes the ends apart from the middle."}]},{"t":"p","runs":[{"text":"In fairness, Photoshop’s version stopped being a crude linear shift in CS3, around 2007, and now protects the extremes somewhat. But the shape of the problem does not change. A dull market photo usually needs the shadows deepened "},{"text":"and","i":true},{"text":" the midtones lifted "},{"text":"and","i":true},{"text":" the highlights left alone. That is three separate moves. One knob cannot do it, so what happens is that you push brightness until the faces look right and discover the sky has turned into white paper."}]},{"t":"h2","id":"levels-and-curves-are-one-tool-at-two-levels-of-control","runs":[{"text":"Levels and Curves are one tool at two levels of control"}]},{"t":"h3","id":"levels-three-numbers","runs":[{"text":"Levels: three numbers"}]},{"t":"p","runs":[{"text":"Levels (Ctrl/Cmd+L, or better, a Levels adjustment layer) gives you the histogram with three sliders under it."}]},{"t":"ul","items":[[{"text":"Black point","b":true},{"text":" (left): drag it right until it sits where the data actually begins. Everything to its left becomes pure black. This one move fixes most flat images."}],[{"text":"White point","b":true},{"text":" (right): drag it left to where the data ends."}],[{"text":"Midtone / gamma","b":true},{"text":" (middle): drag left to lighten the middles, right to darken them, without moving the two ends you just set."}]]},{"t":"p","runs":[{"text":"Hold "},{"text":"Alt/Option","b":true},{"text":" while dragging the black or white slider in Photoshop and the preview shows only the pixels you are about to destroy. Stop when the first specks appear. Photopea has this too, and GIMP’s Levels dialogue has the same three sliders."}]},{"t":"h3","id":"curves-the-same-idea-with-real-control","runs":[{"text":"Curves: the same idea with real control"}]},{"t":"p","runs":[{"text":"Curves is Levels plus the ability to bend the middle. The horizontal axis is the input tone, the vertical is the output. The default is a straight diagonal: every tone comes out as it went in."}]},{"t":"ul","items":[[{"text":"Click the middle of the line and pull it down half a centimetre. The whole image darkens, ends held."}],[{"text":"Click a quarter of the way from the bottom, pull down; click three-quarters up, pull up. That is the "},{"text":"S-curve","b":true},{"text":": the standard contrast move, and it is what “punchy” means."}]]},{"t":"p","runs":[{"text":"Understand what the S-curve costs. Contrast is not created, it is borrowed. Steepening the middle of the curve spreads the midtones over more output levels, and the only place that room can come from is the ends, which get flattened. That is why heavy contrast eats detail in shadows and highlights. Look at the top and bottom of your curve, not just the middle."}]},{"t":"p","runs":[{"text":"There is also a "},{"text":"targeted adjustment tool","b":true},{"text":": the hand icon in the Curves panel. Click it and drag directly on the photograph, and it moves the curve point for that tone. The fastest way to darken "},{"text":"that","i":true},{"text":" wall without knowing where the wall sits on the curve."}]},{"t":"h2","id":"colour-casts-live-in-the-channels","runs":[{"text":"Colour casts live in the channels"}]},{"t":"p","runs":[{"text":"The dropdown at the top of the Curves panel switches from RGB to Red, Green or Blue individually. This is where colour correction actually happens."}]},{"t":"p","runs":[{"text":"The relationships are worth memorising, because they are just opposites: less blue is more yellow, less green is more magenta, less red is more cyan."}]},{"t":"p","runs":[{"text":"So a photo shot under a tube light with a green cast: switch to the Green channel, pull the middle of the curve down slightly. A sunset that has gone cold: lift the Red curve’s midpoint and drop the Blue’s. Small moves: a few pixels of drag is a lot."}]},{"t":"p","runs":[{"text":"Faster still, when there is something in the frame you know to be neutral: use the grey eyedropper in Levels or Curves and click a grey wall, a white shirt in shade, a sheet of paper. The software calculates what correction makes that pixel neutral and applies it to the whole image. Choose a mid-grey, not a bright white, which is often clipped and therefore useless as a reference."}]},{"t":"p","runs":[{"text":"If you shot raw, do this in the raw developer instead: "},{"text":"darktable","b":true},{"text":" and "},{"text":"RawTherapee","b":true},{"text":" are free and their white-balance control is working with the original sensor data before it has been squeezed into 8 bits. That is strictly better than fixing it later."}]},{"t":"h2","id":"the-8-bit-tax","runs":[{"text":"The 8-bit tax"}]},{"t":"p","runs":[{"text":"Every stretch you apply to an 8-bit image spreads 256 levels over a wider range, leaving gaps. Open the histogram after a strong Levels move and you will see it has turned into a comb: white vertical lines where no pixels remain. In a photograph of a market you will never notice. In a smooth gradient (a sky, a studio backdrop, a wall) those gaps show up as visible bands."}]},{"t":"p","runs":[{"text":"Two defences. Convert to 16-bit before big tonal work ("},{"text":"Image > Mode > 16 Bits/Channel","b":true},{"text":"), which gives you 65,536 levels per channel and enough room to stretch. Or start from a raw file, which was 12 or 14 bits at capture."}]},{"t":"p","runs":[{"text":"Today: open your flattest photo, add a Levels adjustment layer, and move only the black-point slider to where the histogram begins. Nothing else. That one move beats an hour of sliders."}]}],"check":{"question":[{"text":"A market photo looks flat and grey. Someone pushes Brightness and Contrast up until it looks punchy on screen. The sky loses all its cloud detail and the shadows still look muddy. What is the mechanism?"}],"options":[{"text":[{"text":"The sky was overexposed in camera, so the cloud detail was never in the file and no adjustment could have kept it."}],"correct":false,"tempting":[{"text":"Assumes clipping existed at capture when the edit itself pushed those tones past white."}]},{"text":[{"text":"One control moves the whole tone range together, so by the time the midtones look right the highlights have been pushed past white and cannot come back, while the shadows were never given their own move."}],"correct":true,"tempting":null},{"text":[{"text":"The image needs more saturation rather than more contrast; the flatness is a colour problem, not a tonal one."}],"correct":false,"tempting":[{"text":"Reads a tonal range problem as a colour intensity problem."}]},{"text":[{"text":"Brightness/Contrast should have been applied on a duplicated layer, which would have prevented the loss."}],"correct":false,"tempting":[{"text":"Confuses a non-destructive habit with the tonal mechanism causing the clipping."}]}],"order":[3,0,1,2],"why":null},"prev":{"slug":"batch-background-removal","title":"Four hundred cut-outs, and the twelve that are wrong","minutes":8},"next":{"slug":"reading-a-histogram","title":"There is no correct histogram","minutes":9}}}