I'm a complete newbee in photography and in photography editing, but I made a a photo I really like with my phone, and I would like to improve it numerically.

Here is the photo.

enter image description here

I know how to use gimp to fix the exposure and the contrast to get a good result for each of the two parts of the photo (the dark part on the left, and the bright part on the right), but no set of values is good for both sides.

If I select areas and apply different sets of values, the line between the two parts becomes too visible.

What's a good way to solve this issue ? I use gimp, but i'm ready to use any other software.


  • \$\begingroup\$ That's what feathering a selection is for. I don't use the GIMP (although I try with every new release), so I can't give you a step-by-step, but feathering is all you should need. \$\endgroup\$
    – user2719
    Commented Aug 28, 2012 at 21:42
  • \$\begingroup\$ @Samuel, whatever the answer. I would love to see an edit with your final image when you are done. \$\endgroup\$
    – Xeoncross
    Commented Aug 29, 2012 at 1:05

4 Answers 4


Here's a quick and simple way to do it. Your source image is 640 x 480 and a bit hazy so there is no reason to use a more complex solution.

Gimp screenshot

  1. Open your image in GIMP and choose the 'Free Select Tool' F
  2. In the tool options choose 'Feather edges', I chose a 10 pixel radius. follow the top, left and bottom edges and the edge of the curb. Once you have selected the area shown below press CTRL + C then CTRL + V to copy and paste it as a new layer.
  3. Click the green plus sign in the layers dialog to make the copied portion a new layer. Adjust the levels under Color/Levels (from the top menu) of the pasted layer and the base image until you have what you want.
  4. Note the fuzzy edge at the right side of your pasted layer. Once you have both layers' levels where you want them. Right-click on either and select 'Flatten Image'. Then save it. Done.

Here's the one I did as an example. As a side note, if you are able to take the back off of your mobile phone to take the picture you can get significantly clearer images. The hazy effect often comes from the plastic window covering the lens on the battery cover. Remember to hold your battery in place when you take the picture, then put the cover back on. Sounds silly but the improvement is noticeable.

Adjusted photo from OP

  • 2
    \$\begingroup\$ +1 - this is exactly what feathering is for. Nicely put together answer. \$\endgroup\$ Commented Aug 29, 2012 at 11:54
  • \$\begingroup\$ Didn't know about the "Feather edges" option, tx \$\endgroup\$ Commented Aug 29, 2012 at 13:22
  • \$\begingroup\$ And many thanks for this very detailed step by step explanation. I didn't even expect that much. \$\endgroup\$ Commented Aug 29, 2012 at 16:06
  • \$\begingroup\$ @SamuelRossille No problem. Your image is especially well suited to this due to the diagonal line down the middle. If it were a curve this would be a bit more difficult. \$\endgroup\$ Commented Aug 29, 2012 at 16:07

In gimp, can you create a layer mask that's a gradient? You could then duplicate the layer, apply separate changes to each side and use the mask to blend the 2 together. Basically, you're looking for a way to do a digital graduated filter - but the filter doesn't have to be a simple neutral tone change.


Samuel, as some of the other answers have suggested, layer masks are very useful for this sort of thing. I wish I had learnt about layer masks earlier in my journey (and you may already have done so given the age of this question!) But in case it's useful to others who land here, here is my explanation of layer masks, and how they can be used in this situation.

Layer masks were a bit confusing to me at first. But the following analogy helped: think of white piece of card that you might use as a stencil on top of something else. Wherever the white card covers the underlying image, you see the white card. When you cut out (think darken) pieces of the card, you see the underlying image. In Gimp, you use white and black paint brushes to "fill in" or "cut out" pieces of the stencil/layer mask. In fact, the stencil can be partially transparent (grey) which gives you a very fine level of control as to how much of the underlying image shows through.

Start by duplicating the original image twice. On the top one, use Colors/Threshold to created an initial "stencil" like this:

Layer mask candidate

It's black and white like a rough stencil might be :) We'll refine it just now. Select this whole layer and copy it to the clipboard (ctrl-a, ctrl-c), then right click on the next layer down, select "Add Layer Mask" and use any of the options (White Full Opacity for example). You'll see the extra box appear to the right of the second layer.

Layer Mask Created!

(By the way, note that whenever this layer is selected, you must be aware that you could either edit the image itself or the layer mask (stencil).)

Now paste/anchor the clipboard contents (b&w thresholded image) onto the layer mask (ctrl-v, ctrl-h), and delete the original threshold image as we won't be needing it any longer. Your layers look like this now (note the thin white border around the layer mask, which tells you that any edits you apply on this layer will apply to the layer mask):

layers once mask is in

The layer mask is a little sharp edged, so you could use Filters/Blur/Gaussian blur to blur the edges a little (say 20-30 pixels).

Now the beauty of layer masks begins to show itself. To summarise, wherever the layer mask is white, that layer's image will show, and wherever the layer mask is black, the underlying image(s) will show. So you can see that the layer mask is black wherever the original image was underexposed. So select the original underexposed image, and use the curves, levels or contract tools to lighten or otherwise get the dark parts of the image the way you like them. (Notice as you do this that the over-exposed areas don't lighten.)

Then select the layer with the layer mask - make sure to click on the left/image side of the layer list, not on the right/mask side. (The white border will move to the image side.) Now use the curves/levels/contrast tools to darken or otherwise edit the layer. You should notice that the darker parts (including the woman's shorts for example) don't get darker while you're editing. Only the parts that are white in the layer mask will appear in the actual image.

If at any stage the "lines" between the dark and light areas become visible or obvious, you can use a soft black or white paintbrush on a low opacity to edit the layer mask along the line.

I thought the girls dress was a little bright, so I added another layer in Overlay mode, and painted a little with a soft black brush to darken the dress only. I also increased saturation of the whole image and sharpened slightly and came out with the following final result, next to your original:

Final result

  • \$\begingroup\$ I actually already did it, but thank you for this detailed explanaition which helped me understand further the technique. Hopefully it will help other people with the same question. \$\endgroup\$ Commented Mar 24, 2014 at 16:46

I don't know about gimp, but in Photoshop you can create masks based on luminosity.

Start here for a great tutorial. He's made his actions available to download, as well.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.