How to calculate the Colordifference Delta E with ImageJ ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

How to calculate the Colordifference Delta E with ImageJ ?

Matzu Khan
Hello,
for my thesis I need to calculate the Color difference between different Images of several Reference Color patches (Colorchecker Classic). The reference colors are illuminated with different Lightsources, then images are taken with a Canon Camera. So I have a number of 14 Bit TIFF-Images (still working on the conversion) showing the same Color Chart. Now I need to calculate  Delta E from some of the Reference Patches of this Chart.
So far I could not find the function in ImageJ or somebody with a similar problem on the Forum.
Does anybody have an idea ?
Thanks a lot and Best Regards
Matzu
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Peter van Loon
Hi Matzu,

You can transform the RGB values in the color patsches to Lab by using the 'Color Transformer' plugin: http://rsbweb.nih.gov/ij/plugins/color-transforms.html
You will get a 3 slice stack with separated Lab values. After this you can calculate delta E differences by the square root of ((L1-L2)^2+(a1-a2)^2+(b1-b2)^2)

Peter
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Matzu Khan
Hello Peter,
thanks a lot for your help !
I am trying to work with it and I do get results, but the results seem to be somehow "wrong".
I try to pinpoint where I go wrong with it and might need to ask you some more questions , I am afraid.
Anyway thanks for your solution so far.
Best Regards
Matzu
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Matzu Khan
Hello Peter,
thanks a lot for your help !
I am trying to work with it and I do get results, but the results seem to be somehow "wrong".
I try to pinpoint where I go wrong with it and might need to ask you some more questions , I am afraid.
Anyway thanks for your solution so far.
Best Regards
Matzu
GDC
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

GDC
With Delta E the lighting and CIE observer standard values are important.  Perhaps your error is in calculating DE witha mix of D75 and D65 values for example?
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Peter van Loon
In reply to this post by Matzu Khan
Hi Matzu, The lighting and CIE observer standard values are indeed important values. I always calibrate the RGB values of the patches to the given fixed Lab values of the patches. This calibration is influenced by lighting but also the white balance of the camera. But I don't think this is what you want because (in theory) after calibration(to a certain CIE observer value) the deltE between the patches will always be the same. So for me it is still unclear what you want to achieve with this. This make it more difficult to answer your question. Another aprouch can be to use the RGB values and calculate the Lab values later by e.g. OpenRGB (http://www.logicol.com) Regards, Peter
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Matzu Khan
Hello Peter,
thanks for your support.

Basically I want to equalize the blue shift of an underwater lamp. With increasing light working distance longer wavelengths become extinct. My goal is to find a correlation between RED Power Increase of your Lightsource and Light Working Distance. I am using a hybrid Multi spectral LED Lightsource for this.  

So, I try to characterize 2 Parameters:

This means
First I change the Illumination (which varies the color temperature) with increase RED, red yellow and amber and try to characterize the influence of the illumination with Delta E between the two kinds of illumination

Secondary I change Light working distance and try to characterize this influence with shift of DELTA E between same Color patch at different Light working distances

This means of course that I can not calibrate the Color patches values (I feel i dont need to because I only need relative values).
So far I have only made some dry Test pictures to establish my working process, but so far with not much result.
I have attached a Picture (jpg ) of 2 kinds of illumination (they have to much noise, but you can get the idea)
I know there are better ways to do that, especially since I do not use a calibrated camera, but still Lab seems like it would do the job.
If you have any better idea on how to do that I am very gratefull; I can however not change or expand my equipment.

Best Regards
Matzu




Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Matzu Khan
In reply to this post by GDC
Thanks for the reply, I answered to Peter in Detail below.
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Peter van Loon
In reply to this post by Matzu Khan
Hi Matzu,

Picture number 3 (the red one) is clipped. I made a RGB stack from picture 3 and then used the HiLo lut (blue = 0 and red = 255) to show it (see added pictures).
In the red channel 9 patches have values higher then 255. In the blue and green channel some patches are underexposed (zero values). If you want to measure the color it is important to prevent clipping. Because of your quite extreme red color light you have both: over and under exposure. Try to get the dynamic range of all channels between 1 and 254 or use patches that are not clipped: # 3,5,6,11,21,23 (order: top left to bottom right).



Peter
Red channel picture 3

Green channel picture 3

Blue channel picture 3
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Matzu Khan
Hello Peter,

thanks for all the effort !! I know these are clipped and also there is a lot of noise.
I made those images outside water in order to practice my workflow with DCRAW and color Transformer.

Even though these images are clipped, it should still be possible to calculate a Delta E   ?
But for the images below I get Delta E values between 25 and 90 and wonder if these are still right !!



Values for the top left patch and the one right next to it are:
Delta E          L1         L2        a1        a2        b1           b2
30,85       52,872  35,524   44,948  47,272   21,859   47,272
50,97   79,652  55,874   29,366  48,919   8,290   48,919

So I am not sure if Delta E- in CIE L*a*b*is the most suitable Value for me.
May be relative hue would be more suitable for my approach. What do you think ?

With best Regards
Matzu

PS: Did you know there is a a KickBoxer with your name ??
Reply | Threaded
Open this post in threaded view
|

Re: How to calculate the Colordifference Delta E with ImageJ ?

Peter van Loon
Hello Matzu,

I don't think it is possible to calculate the color with clipped colors. In the end if you continue increasing overexposure you will end with white allways. So I think it's better to calculate delta-E on non-clipped patches. The delta-E value will also depend on the used patch. Isn't it sufficient to calculate the delta-E on one neutral (gray) patch?

A shift in Hue (degrees) may also be a good (or even better) approach to define the colorshift. Because as I understood you are interested in the colorshift and delta-E incorporates also a shift in Lightness.

Regards,
Peter