I'm in the process of helping out a friend who has a bunch of inventory pics. Most appear faded/washed out, and generally dull. I really like the effect as described here: http://www.abeautifulmess.com/2012/07/how-to-create-vibrant-color-photographs.html, however, I'm trying to do this using ImageMagick because there are hundreds (if not thousands) of images to convert, and I'd like to be able to convert them in an automated manner.

They're also on S3, so the process would be: download -> convert -> upload.

I've played around with modifying the brightness in imagemagick (http://www.imagemagick.org/www/command-line-options.html#brightness-contrast) but that alone doesn't seem to help. Are there options I'm missing or steps I can do that would help?


3 Answers 3


Screening an image with itself in photoshop is equivalent to either -negate -gamma 0.5 -negate or -fx '1-((1-u)^2)' in ImageMagick (the first one is probably faster, -fx is notoriously slow.)

  • why would you Negate 2 times when you can invert the gamma value instead?
    – joojaa
    Commented Oct 4, 2014 at 6:14
  • @joojaa because it has a different effect — try it.
    – hobbs
    Commented Oct 4, 2014 at 6:30
  • ah yes the gamma function is not symmetric about f(x)=x
    – joojaa
    Commented Oct 4, 2014 at 8:12
  • wow you weren't kidding about fx being slow. Commented Oct 4, 2014 at 14:47

Please see Fred's scripts for one of the most impressive collections of ImageMagick scripts for automatic processing, ie.:

  • autocolor

enter image description here enter image description here

  • autotone

enter image description here enter image description here

  • bcimage

enter image description here enter image description here

  • enrich

enter image description here enter image description here

including lots of other saturators / vintage effects to help spice up your images.


  • Hi Mark, could you please explain a bit more what we'll find behind the link you provide and why it answers the question? That way, your answer is still of value in case the link breaks at a later time. Link rot is the main reason we really dislike link-only answers here. Thanks for your effort and keep contributing!
    – Vincent
    Commented Oct 6, 2014 at 11:48

Using ImageMagick I can think of two approaches to batch pseudo-enhance image quality.

I was using the source image from the link you gave for comparison:

enter image description here

1. Two steps involving normalize then auto-gamma filter

    convert input.png -normalize normalized.png

enter image description here

    convert normalized.png -auto-gamma output.png

enter image description here

Depending on our images' source quality we may also experiment with the auto-level filter for color leveling if needed.

2. Single step sigmoidal-contrast filter for a quick contrast enhancement

    convert input.png -sigmoidal-contrast 7,50% output.png

enter image description here

Using this filter will enhance contrast with strength given in the first value (here 7) and a given base of here 50%. These values need adaption for optimum results.

In case we don't care on the original image, or in case we work on a backup copy only we can replace the convert command (which lets us define another output file) and use mogrify instead (to overwrite the source image).

We will not be able to convert all images to best possible results. This depends on far too many factors and can only be done manually for each source image separately.

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.