Hi,

I'm trying to detect an object by perceived color, which depends on the color temperature of the ambient light. While writing a color calibration procedure that takes color temperature into account, I've noticed that ImgFrame.getColorTemperature() seems to gravitate to certain values, such as 2300 K, 2600 K, 4850 K. It also reports other color temperatures, but only while it is "on it's way" to these key values.

Since I'm partially working outdoors, it's not likely that the ambient light only has a few discrete color temperatures, so I'm wondering what might be going on here. Does anyone have any insights?

Thanks,
Tim

Hi @Timm ,
I believe the ISP tries to converge to one of these standard numbers, so it's part of the driver. You can also set temperature manually using API:

camRgb.initialControl.setManualWhiteBalance(2300) # temperature in kelvins, between 1k and 12k

Hi @erik ,

Thanks for the quick response!

I'm fine with the standard color temperatures that the ISP converges to. In fact, knowing those values would greatly simplify the color calibration procedure I'm working on. Do you perhaps know what they are?

Thanks,
Tim

Hi @Timm ,
It's camera tuning-specific, this is the tuning we use:

Thanks, @erik ! That's very helpful.

What do the circles around the standard color temperatures mean?

Thanks,
Tim

@Timm afaik these are tolerance zones aroudn these standard temperatures. Temperatures themselves correspond to "popular" light sources (eg 6500k for sunlight, 5500k for cool white..), so sensor will "recognize" that specific light source if CB/CR is within that zone.