17

F-Spot had an "enhance" button that magically turns the image on the left into the image next to it (see below). It worked brilliantly for quite a range of images. Unfortunately it has problems, and I'm not using it for photo management any more.

Does anyone know of a similar excellent "enhance" function? The one in Shotwell is useless.

enter image description here

4

If you use the GIMP, the toolbar menu has an option for Colours->Auto->Equalize. I tried it on your "before" image and the "after" result was almost identical.

Also GIMP would give you more control over adjusting colour curves/contrast/etc. manually if you prefer.

  • You're right! It does better than ImageMagick on the top half, but still slightly worse than the f-spot version. I'm sure it's possible to improve that manually, if you know how. – Jean Jordaan Dec 25 '11 at 10:10
  • +1 I think The GIMP does better than ImageMagick in this case, and far better in general. Sometimes I find Colours->Auto->White Balance helps too. – joeytwiddle Feb 26 '16 at 5:59
20

If you are on the command line I recommend "convert", a command from the ImageMagick Package. Try:

$ convert -enhance -equalize -contrast image.jpg image_enhanced.jpg

And to loop a whole batch in Bash shell:

for file in *.jpg; do
 convert -enhance -equalize -contrast $file "${file%.jpg}_new.jpg"
done

snapshot_batch

  • Hey, that's not bad at all! The bottom half of the image comes out better, in my opinion. But the top half of the image comes out worse :-p I'll update the answer to show all three. – Jean Jordaan Dec 25 '11 at 9:46
  • 3
    '-equalize' didn't work well for me, but other options are worth to try. – vkorchagin Jun 30 '14 at 19:17
11

Just for people that stumble over this thread and think, the results with enhance, equalize and/or contrast are ugly should definitely try this options:

convert -auto-gamma -auto-level -normalize original.jpg improved.jpg

And for the batch-lovers, having the originals in the orig-folder...:

for sp in orig/*; do 
  echo "Converting Image: $sp"
  convert -auto-gamma -auto-level -normalize $sp $(basename $sp)
done

I believe, the result is exactly what people want and need for their photos: White balance, gamma correction and overall light correction...

Have fun!

  • Worked great. NOTE the bash code modifies the images in-place, add a prefix to $sp if you want to retain the originals. – ryanjdillon Jul 31 '17 at 14:34
  • Images are not converted in-place with the script. Original images are in "orig" folder and converted will be created in the current folder. – themole Aug 13 '17 at 10:13
2

When trying to enhance the visibility of details in an image where some regions are low-contrast, I found none of the single-step solutions in ImageMagick or The GIMP satisfactory. (XV used to have a great button, but is non-free and hard to obtain now.)

But the following process produced the kind of results I wanted. It simulates a high/medium pass filter in The GIMP.

http://www.gimpusers.com/tutorials/equalize-homogenize-brightness

  1. Do Layer -> Duplicate Layer
  2. In the Layers Window (Ctrl-L) be sure the upper copy is selected
  3. Do Filter -> Blur -> Gaussian Blur with a medium size radius (e.g. 25)
  4. Do Colors -> Invert
  5. Do Colors -> Desaturate -> (Lightness)
  6. In the Layers Window (Ctrl-L) set the Mode to "Overlay"
  7. If satisfied, do Image -> Flatten Image. Otherwise undo to step 2 and try again with a different blur radius.

You may see a visible "halo" around dark elements, or "shadow" around light elements - that is it working!

Better results might be obtained by combining a number of layers with different blur radii.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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