The Light Source Preset camera feature allows you to correct color shifts caused by certain light sources.
Depending on its specific color temperature, the light used for image acquisition can cause color shifts in the image. You can correct these color shifts by selecting the related light source preset.
To select a light source preset, set the LightSourcePreset parameter.
Which presets are available depends on the BalanceWhiteAuto parameter setting.
If the BalanceWhiteAuto parameter is set to Continuous, the LightSourcePreset parameter is set to Auto, and the light source preset is determined automatically.
If the BalanceWhiteAuto parameter is set to Off, the following presets are available:
CoolWhiteFluorescent4250K: The camera corrects color shifts caused by fluorescent lighting that has a color temperature of about 4 250 K.
Daylight5000K: The camera corrects color shifts caused by daylight lighting that has a color temperature of about 5 000 K.
Daylight6500K: The camera corrects color shifts caused by daylight lighting that has a color temperature of about 6 500 K.
Daylight7500K: The camera corrects color shifts caused by daylight lighting that has a color temperature of about 7 500 K.
Horizon2500K: The camera corrects color shifts caused by horizon lighting that has a color temperature of about 2 500 K.
Manual: The color temperature can be set manually.
Tungsten2800K: The camera corrects color shifts caused by tungsten lighting that has a color temperature of about 2 500 to 3 000 K.
// Set the light source preset to Daylight5000Kcamera.LightSourcePreset.SetValue(LightSourcePreset_Daylight5000K);// Get the color temperature of the currently selected light source presetint64_ti=camera.BslLightSourceColorTemperature.GetValue();// Set the light source preset to Manualcamera.LightSourcePreset.SetValue(LightSourcePreset_Manual);// Manually set the color temperaturecamera.BslLightSourceColorTemperature.SetValue(7334);
INodeMap&nodemap=camera.GetNodeMap();// Set the light source preset to Daylight5000KCEnumParameter(nodemap,"LightSourcePreset").SetValue("Daylight5000K");// Get the color temperature of the currently selected light source presetint64_ti=CIntegerParameter(nodemap,"BslLightSourceColorTemperature").GetValue();// Set the light source preset to ManualCEnumParameter(nodemap,"LightSourcePreset").SetValue("Manual");// Manually set the color temperatureCIntegerParameter(nodemap,"BslLightSourceColorTemperature").SetValue(7334);
// Set the light source preset to Daylight5000Kcamera.Parameters[PLCamera.LightSourcePreset].SetValue(PLCamera.LightSourcePreset.Daylight5000K);// Get the color temperature of the currently selected light source presetInt64i=camera.Parameters[PLCamera.BslLightSourceColorTemperature].GetValue();// Set the light source preset to Manualcamera.Parameters[PLCamera.LightSourcePreset].SetValue(PLCamera.LightSourcePreset.Manual);// Manually set the color temperaturecamera.Parameters[PLCamera.BslLightSourceColorTemperature].SetValue(7334);
/* Macro to check for errors */#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)GENAPIC_RESULTerrRes=GENAPI_E_OK;/* Return value of pylon methods */int64_ti=0;/* Set the light source preset to Daylight5000K */errRes=PylonDeviceFeatureFromString(hdev,"LightSourcePreset","Daylight5000K");CHECK(errRes);/* Get the color temperature of the currently selected light source preset */errRes=PylonDeviceGetIntegerFeature(hdev,"BslLightSourceColorTemperature",&i);CHECK(errRes);/* Set the light source preset to Manual */errRes=PylonDeviceFeatureFromString(hdev,"LightSourcePreset","Manual");CHECK(errRes);/* Manually set the color temperature */errRes=PylonDeviceSetIntegerFeature(hdev,"BslLightSourceColorTemperature",7334);CHECK(errRes);
# Set the light source preset to Daylight5000Kcamera.LightSourcePreset.Value="Daylight5000K"# Get the color temperature of the currently selected light source preseti=camera.BslLightSourceColorTemperature.Value# Set the light source preset to Manualcamera.LightSourcePreset.Value="Manual"# Manually set the color temperaturecamera.BslLightSourceColorTemperature.Value=7334
You can also use the pylon Viewer to easily set the parameters.