跳转到内容

Brightness and Contrast (dart E)#

The Brightness and Contrast camera feature allows you to adjust the tonal values of your images.

亮度和对比度始终作为通用亮度/对比度数学函数的一部分一起处理。

该功能的使用#

调整对比度#

To adjust the contrast, enter a value for the BslContrast parameter. The parameter's value range is from -1 to 1. By default, the parameter is set to 0 which means that the contrast remains unchanged.

调整亮度#

To adjust the brightness, enter a value for the BslBrightness parameter. The parameter's value range is from -1 to 1. By default, the parameter is set to 0 which means that the brightness remains unchanged.

运作原理#

对比度#

调整对比度会更改图像中明暗区域之间的差异程度。应用的对比度越高,差异就越明显。

相机使用 S 曲线函数来调整对比度。

这使您可以改进感知对比度,同时保留图像的动态范围。

对比度增加得越多,该函数的图形将越趋向于 S 形:

对比度 = 0.3,亮度 = 0,S 曲线对比模式

对比度 = 0.5,亮度 = 0,S 曲线对比模式

上图显示,在 S 曲线模式下提高对比度具有以下效果:

  • S 曲线的起点和终点变平、中心变陡。结果,图像明暗区域的对比度降低,并且中间色调的对比度提高。
  • 低输入像素值降低,高输入像素值提高。这压缩了图像的极暗和极亮区域,从而进一步提高了可感知的对比度。
  • 由于曲线始终从 (0,0) 开始,到 (Xmax,Ymax) 结束,因此图像的动态范围得以保留。

在 S 曲线模式下,低于 0 的对比度设置将导致 S 曲线反转,产生相反的效果。

亮度#

调节亮度可以通过增加或减小图像的色调值来使图像变亮或变暗。

调整亮度时会移动亮度/对比度函数的轴心点:

  • 增加亮度会使轴心点向左上方移动。这意味着图像将显得更亮。
  • 降低亮度会将轴心点移到右下角。这意味着图像将显得更暗。

对比度 = 0.3,亮度 = 0,S 曲线对比模式

对比度 = 0.3,亮度 = 0.3,S 曲线对比模式

示例代码#

// Set the Brightness parameter to 0.5
camera.BslBrightness.SetValue(0.5);
// Set the Contrast parameter to 1.2
camera.BslContrast.SetValue(1.2);
INodeMap& nodemap = camera.GetNodeMap();
// Set the Brightness parameter to 0.5
CFloatParameter(nodemap, "BslBrightness").SetValue(0.5);
// Set the Contrast parameter to 1.2
CFloatParameter(nodemap, "BslContrast").SetValue(1.2);
// Set the Brightness parameter to 0.5
camera.Parameters[PLCamera.BslBrightness].SetValue(0.5);
// Set the Contrast parameter to 1.2
camera.Parameters[PLCamera.BslContrast].SetValue(1.2);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Set the Brightness parameter to 0.5 */
errRes = PylonDeviceSetFloatFeature(hdev, "BslBrightness", 0.5);
CHECK(errRes);
/* Set the Contrast parameter to 1.2 */
errRes = PylonDeviceSetFloatFeature(hdev, "BslContrast", 1.2);
CHECK(errRes);
# Set the Brightness parameter to 0.5
camera.BslBrightness.Value = 0.5
# Set the Contrast parameter to 1.2
camera.BslContrast.Value = 1.2
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Set the Brightness parameter to 0.5 */
errRes = PylonDeviceSetFloatFeature(hdev, "BslBrightness", 0.5);
CHECK(errRes);
/* Set the Contrast parameter to 1.2 */
errRes = PylonDeviceSetFloatFeature(hdev, "BslContrast", 1.2);
CHECK(errRes);

You can also use the pylon Viewer to easily set the parameters.