0
$\begingroup$

My ultimate goal is to convert a flat-field corrected hyperspectral image of reflectance (360nm-780nm) to corresponding CIEXYZ image and thus device-independent color image.

By flat-field correction, I meant

$$I_{corrected} = {{I_{raw}-I_{black}}\over{I_{99\%white}-I_{black}}}$$

Even after the flat-field correction, it was found that the spectra still did not match published values (of a color target) under standard illuminant E. Currently, we scale and shift the intensity values for each wavelength based on published spectra to match values between measured and published CIEXYZ. Resulting average Delta E (CIEDE2000) is about 1.00.

But I wonder if there is any better way.

$\endgroup$
0
$\begingroup$

Is the flat field correction the only correction applied to the hyperspectral image? If the camera is not calibrated to radiance values then the fact that you need to apply shift/scale adjustments is normal and expected. The CIE XYZ color of a spectrum of light is defined in terms of radiance, the raw output of a uncalibrated camera is not radiance.

If the camera is radiance calibrated then here are a couple other ideas:

When you compare your computed color vs the known value are you scaling them both so that the CIE Y value of the white patch is 1 (or 100) ?

They need to both be exposure scaled equally to be compared, differences in the absolute scale will affect the CIEDE2000 values.

Also, you say the test target published colors are for illuminant E but was the hyperspectral image acquired under an approximation of illuminant E? If not the colors are not comparable.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.