How to quantify color difference between two similar images?

4 views (last 30 days)
I converted two similar images from RGB to LAB color space, after conversation the images are showing color difference. How to quantify that color difference? Which parameters can be used for that?

Answers (1)

Chandrika
Chandrika on 9 Jun 2022
As per my understanding, you want to compute the color difference between two L*a*b images.
In MATLAB, we can do this using the 'deltaE' function. It quantifies the color difference based on CIE76 standard.
dE = deltaE(I1,I2,'isInputLab',isLab)
Here, 'isLab' corresponds to logical false or logical true indicating if the color values are in L*a*b color space.
In your case, you can try out the following code:
dE = imcolordiff(lab1,lab2,'isInputLab',true);
For better accuarcy, you can try using the 'imcolordiff' function
dE = imcolordiff(lab1,lab2,'isInputLab',true);
These above functions on two input L*a*b images, returns the color difference 'dE' in a m-by-n matrix format.
For viewing the color difference as an image, use:
imshow(dE,[])
For better understanding, please refer to the documentaion on imcolordiff
Further, if your requirement is somthing different, do attach the images for reproducing the issue.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by