For those who have either used Picasa/Photoshop, they would see different image enhancement options such as:

  1. Change exposure
  2. Change shadow
  3. Change highlights
  4. Change vibrance

I have searched online a lot about algorithms for doing the above operations. I know that these can be achieved from basic operations such by changing /saturation/contrast or adjusting dynamic range of an image. However, if somebody has used these algorithms then it is clear that it is different than just naively changing the basic parameters.

EDIT: I found a submission on MATLAB file exchange which has a nice GUI and implements the imadjust (i.e. adjust the dynamic range of image) command. I think this command is the key to emulate the above listed effects. I am posting some examples:

I am not asking about the auto-color/auto-enhance functions as they may be complex. If someone knows how to implement any of these algorithms, it would be great.

Change exposure:

Exposure adjustment

Change shadow:

Shadow adjustment

Contrast enhancement:

enter image description here

  • $\begingroup$ These filters are all proprietary. We can suggest algorithms that will emulate them but there is no guarantee that the results will be identical. $\endgroup$
    – Emre
    Oct 25, 2014 at 18:46
  • $\begingroup$ @Emre Ya sure, if you know methods to emulate one or more of above effects, I will be eager to know. See my edit to the question which lists the additional things I found. $\endgroup$
    – Autonomous
    Oct 25, 2014 at 20:10
  • $\begingroup$ Those algorithms will be adding some masks such that only those pixels will change etc. If you have some kind of idea, that will be great. $\endgroup$
    – Autonomous
    Oct 25, 2014 at 20:20
  • $\begingroup$ @Autonomous, Could you also +1 my answer? Thank You! $\endgroup$
    – Royi
    Jul 3, 2023 at 18:51

1 Answer 1

  1. Change Exposure Usually applying a mapping on the pixels value. For instant, contrast is basically mapping with linear function where the contrast level is the slope of the linear function.

  2. Change Shadow
    Usually applying some mapping to pixels. The targeting of the shadow is done by a mask. So if the value of the input pixel is low the effect is big, if not, it is masked.

  3. Change Highlights
    Same as Change Shadow with the mask working on highlights.

  4. Change Vibrance
    Vibrance is usually just like adding saturation (See HSL / HSV Color Space) with a mask such the effect targets low saturation pixels.


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.