Suppose I have two camera shoots(Image1,Image2) for the exactly same scene (each pixel is alignment correctly) but from different cameras and different light conditions. I want to remove this light difference. I tried two way till now:

  1. S,V component adjustment

  2. Gamma correction

    I am getting result around 7/255 difference after adjustment.

I am looking for a mathematical transform "F", something like Adjusted_Image=F(Image1) which leads to |Image1-Image2| ~ 0 The "F" function will contains must-tuned parameters (a,b,c,....).

Any ideas of the formula of "F"?

many thanks,

  • 1
    $\begingroup$ Hi This process is also known as Color Correction. You may find more info here.ia802707.us.archive.org/23/items/Lectures_on_Image_Processing/… $\endgroup$
    – Balaji R
    Jun 9, 2015 at 13:05
  • $\begingroup$ The results are pretty good better than gamma or SV in most cases. I thank you @ Balaji R... you may please add it as answer so I can accept it. if not I gonna right it as answer. many thanks for your help :) $\endgroup$ Jun 9, 2015 at 14:58

1 Answer 1


This Process is Known as Color Correction.It is Explained in more detail here.

To Give a short Explanation:

Lets suppose

You have a Input Color Matrix represented as

    | R_O1 G_O1 B_O1 |
A = | R_O2 G_O2 B_O2 |
    | R_On G_On B_On |

and a Reference Target Color Matrix represented as

    | R_T1 G_T1 B_T1 |
B = | R_T2 G_T2 B_T2 |
    | R_Tn G_Tn B_Tn |

Color Correction Matrix X is computed as follows:

            **A X = B** 

    | R_O1 G_O1 B_O1 |     | A11 A12 A13 |   =  | R_T1 G_T1 B_T1 |  
    | R_O2 G_O2 B_O2 |   * | A21 A22 A23 |      | R_T2 G_T2 B_T2 |
    | R_On G_On B_On |     | A31 A32 A33 |      | R_Tn G_Tn B_Tn |

X = (B.A^T)(A.A^T)^-1

Some one please help me editing the formulas!

  • $\begingroup$ Thanks again.. I have question please.. This process is somehow linear. Is there another non-linear way that let each channel depend on itself and the other two channels? many thansk $\endgroup$ Jun 11, 2015 at 11:11
  • 1
    $\begingroup$ Actually i'm also working on similar problem. stackoverflow.com/questions/29667226/… I think this may be the starting point littlecms.com & opencolorio.org $\endgroup$
    – Balaji R
    Jun 11, 2015 at 11:31
  • $\begingroup$ Going to check them... hope you the best :) $\endgroup$ Jun 11, 2015 at 12:01

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.