-
Hello, I'm looking for a help, My goal is to use the spectral reflectance of colorchecker in place of reference chart under controlled light for color corrections. Collect under noncontroled light, the reflectance of colorchecker, to use as reference in color correction. however, it donot work as expected, perhaps, i'm missing something. this image has a resume of the approach: here is the code: Using COLOUR - 0.4.1the CCT in the environmet, was about 4200Kselected Illuminant FL2 -- since is the one closer to 4200K CCTConverted the DNG to tiif
Loop over each reflectance to build the reference XYZ, used the FL2 as illuminanthere, is possible to replace the CMFS by spectral sensitivity of camera?for example, iphone spectral sensitivity is available here: http://ohlab.kic.ac.jp/data/iPhoneX.txt**I tried also this approach, used the spectral sensitivity of iphone, and got worst results!`dicionario = [c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24] illumini = np.array([0.36888,0.37556]) for i in dicionario: this is the ouput, so adopted as REFERENCE:
After used the colour checker dectetion lib, identified the the swatches, and applied the rREFERENCE above to correct the image.`RGB = colour.read_image('/home/user1/phd/novafotos/t1/linearf.tiff') REFERENCE_SWATCHES ##reshape the SWATCHES ##CCM method to new Imagenewimg = colour.colour_correction(RGB, newarr, REFERENCE_SWATCHES); print ("Cor corrigida") plot real image.print ("Cor Original") the color correct output was:DNG Image is available here:https://drive.google.com/drive/folders/1ebZYz8FceQDrMhEWAs1eYhB26dFpxUvk?usp=sharing reflectance data from colorcheck is available here:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
Hi @xeggbee, When you generate the reference values and perform the Spectral integration with the Cheers, Thomas |
Beta Was this translation helpful? Give feedback.
-
Am I placing the Spectral Referece at the right place? [using the example from colour-checker-detection]Delta E seems pretty good to be true! This is the SD to XYZ
In place of REFERENCE_SWATCHES, used the XYZ1 (the SD to XYZ)`for i, swatches in enumerate(SWATCHES):
` `###Before Correction ##dAfter COrrection Before CCM - delta E After CCM - delta E Some suggestion to determine the SDS_ILLUMINANTS when capture was in non-controlled light?I'm trying two approaches: 2-delta E |
Beta Was this translation helpful? Give feedback.
Hi @xeggbee,
When you generate the reference values and perform the Spectral integration with the
colour.sd_to_XYZ
definition, you should try to divide by 100 because the values returned by default are expressed between 0 and 100 as percentage in the reflectance case.Cheers,
Thomas