Balance White#
자동 기능을 위한 픽셀 데이터는 하나 또는 여러 개의 Auto Function ROI에서 가져올 수 있습니다.
색상 편차를 수동으로 보정하려면 Balance White 기능을 사용하십시오.
기능 사용#
Balance White 자동 기능 켜기 또는 끄기#
Balance White Auto 자동 기능을 활성화 또는 비활성화하려면 다음을 수행하십시오.
- 적어도 하나의 Auto Function ROI를 Balance White Auto 자동 기능에 할당합니다.
Auto Function ROI가 Image ROI와 부분적으로 또는 완전히 겹치는지 확인하십시오. - 파라미터를 원하는
BalanceWhiteAuto파라미터를 다음 Operating Mode 중 하나로 설정하십시오.Once: 빨간색, 초록색, 파란색의 평균 회색조 값이 동일해질 때까지 카메라가 화이트 밸런스를 조정합니다. 이 상태에 도달하거나 여러 번의 계산 주기가 지난 후, 카메라는 자동 기능을 다음으로 설정합니다.Off그런 다음 마지막 계산 결과로 얻은 밸런스 비율을 이후의 모든 이미지에 적용합니다.Continuous: 이미지를 획득하는 동안 카메라가 연속적으로 화이트 밸런스를 조정합니다. 조정 과정은 Operating Mode가 다음으로 설정될 때까지 계속됩니다.Once또는Off.Off: Balance White Auto 자동 기능을 비활성화합니다. 해당BalanceRatio매개변수는 마지막 자동 또는 수동 조정 결과로 얻은 값으로 유지됩니다.
정보
다음 카메라 모델에서는 Continuous Operating Mode를 사용할 수 없습니다: acA1920-25gc, acA2500-14gc, racer 2 S color 카메라
작동 방식#
자동 화이트 밸런스 조정은 2단계로 진행됩니다.
카메라 모델에 따라, BalanceRatio 매개변수는 다음과 같은 방식으로 설정됩니다.
ace Classic#
Basler ace Classic 카메라 모델의 경우, 자동 화이트 밸런스는 다음과 같이 작동합니다.
- The
BalanceRatioAbs빨간색, 초록색, 파란색의 매개변수 값이 각각 1.5로 설정됩니다. - "그레이 월드(gray world)" 모델을 가정할 때,
BalanceRatioAbs빨간색과 파란색 픽셀의 평균값이 초록색 픽셀의 평균값과 일치하도록 매개변수 값이 자동으로 조정됩니다.
ace U/L, MED ace, boost V, dart Classic, pulse#
Basler ace U, ace L, MED ace, boost V, dart Classic, pulse 카메라 모델의 경우, 자동 화이트 밸런스는 다음과 같이 작동합니다.
- 카메라는 빨간색, 초록색, 파란색 픽셀의 평균 회색조 값을 비교합니다. 그리고 평균 회색조 값이 가장 높은 색상(즉, 가장 밝은 색상)을 결정하고 이 색상의
BalanceRatio매개변수 값을 1로 설정합니다. -
카메라는 다음을 자동으로 조정합니다.
BalanceRatio빨간색, 초록색, 파란색의 평균 회조 값이 동일해질 때까지 나머지 두 색상의 파라미터 값을 조정합니다.그 결과,
BalanceRatio파라미터는 한 색상의 경우 1로 설정되고, 나머지 두 색상의 경우 1에서 ≈15.98 사이의 값으로 설정됩니다.예: 이미지의 초록색 픽셀의 평균 회조 값이 가장 높다고 가정해 보겠습니다. Balance White Auto 자동 기능을 활성화하면 카메라가 설정합니다.
BalanceRatio초록색의 파라미터 값을 1로 설정합니다. 그런 다음, 카메라가 자동으로 조정합니다.BalanceRatio빨간색, 초록색, 파란색의 평균 회조 값이 동일해질 때까지 빨간색과 파란색의 파라미터 값을 조정합니다. 새로운 밸런스 비율은 예를 들어 초록색 = 1, 빨간색 = 1.08789, 파란색 = 2.19678이 될 수 있습니다.
ace 2, boost R, dart R, dart M, racer 2 S/L#
Basler ace 2, boost R, dart R, dart M, racer 2 L/S 카메라 모델의 경우 자동 화이트 밸런싱은 다음과 같이 작동합니다.
- 카메라는 빨간색, 초록색, 파란색 픽셀의 평균 회색조 값을 비교합니다. 그리고 중간 평균 회조 값 그리고 설정합니다
BalanceRatio매개변수 값을 1로 설정합니다. -
카메라는 다음을 자동으로 조정합니다.
BalanceRatio빨간색, 초록색, 파란색의 평균 회조 값이 동일해질 때까지 나머지 두 색상의 파라미터 값을 조정합니다.그 결과, 중간 회조 값을 가진 색상의 경우 BalanceRatio 파라미터가 1로 설정됩니다. 중간 값에 비해 회조 값이 더 높은 색상의 경우 BalanceRatio 파라미터가 0과 1 사이의 값으로 설정되며, 중간 회조 값에 비해 회조 값이 더 낮은 색상의 경우 파라미터가 1과 ≈15.98 사이로 설정됩니다.
예: 이미지의 초록색 픽셀은 중간 회조 값을 갖고, 빨간색 픽셀은 초록색 픽셀보다 회조 값이 더 높으며, 파란색 픽셀은 초록색 픽셀보다 회조 값이 더 낮다고 가정해 보겠습니다.
Balance White Auto 자동 기능을 활성화하면 카메라가 설정합니다BalanceRatio초록색의 파라미터 값은 1, 빨간색의 경우 0과 1 사이의 값, 파란색의 경우 1과 ≈15.98 사이의 값으로 설정됩니다. 새로운 밸런스 비율은 예를 들어 초록색 = 1, 빨간색 = 0.568, 파란색 = 3.1986이 될 수 있습니다.
정보
- 보려면
BalanceRatio빨간색, 초록색 또는 파란색의 파라미터 값은 해당 색상 채널로 전환하여 다음을 사용합니다.BalanceRatioSelector. - 카메라가 연속으로 사진을 촬영할 때, 자동 기능은 약간의 지연 후 작동합니다. 처음 몇 장의 사진에는 자동 기능이 적용되지 않을 수 있습니다.
- boost V 컬러 카메라에서는 Balance White Auto 자동 기능에 할당된 Auto Function ROI에 100% 채도를 가진 컬러 픽셀이 포함되어서는 안 됩니다. 그렇지 않으면 원치 않는 가색(false-color) 효과가 발생합니다.
샘플 코드#
ace Classic/U/L GigE Cameras#
// Select auto function ROI 2
camera.AutoFunctionAOISelector.SetValue(AutoFunctionAOISelector_AOI2);
// Enable the Balance White Auto auto function
// for the auto function ROI selected
camera.AutoFunctionAOIUsageWhiteBalance.SetValue(true);
// Enable Balance White Auto by setting the operating mode to Continuous
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Continuous);
INodeMap& nodemap = camera.GetNodeMap();
// Select auto function ROI 2
CEnumParameter(nodemap, "AutoFunctionAOISelector").SetValue("AOI2");
// Enable the Balance White Auto auto function
// for the auto function ROI selected
CBooleanParameter(nodemap, "AutoFunctionAOIUsageWhiteBalance").SetValue(true);
// Enable Balance White Auto by setting the operating mode to Continuous
CEnumParameter(nodemap, "BalanceWhiteAuto").SetValue("Continuous");
// Select auto function ROI 2
camera.Parameters[PLCamera.AutoFunctionAOISelector].SetValue(PLCamera.AutoFunctionAOISelector.AOI2);
// Enable the Balance White Auto auto function
// for the auto function ROI selected
camera.Parameters[PLCamera.AutoFunctionAOIUsageWhiteBalance].SetValue(true);
// Enable Balance White Auto by setting the operating mode to Continuous
camera.Parameters[PLCamera.BalanceWhiteAuto].SetValue(PLCamera.BalanceWhiteAuto.Continuous);
/* 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 */
/* Select auto function ROI 2 */
errRes = PylonDeviceFeatureFromString(hdev, "AutoFunctionAOISelector", "AOI2");
CHECK(errRes);
/* Enable the Balance White Auto auto function */
/* for the auto function ROI selected */
errRes = PylonDeviceSetBooleanFeature(hdev, "AutoFunctionAOIUsageWhiteBalance", 1);
CHECK(errRes);
/* Enable Balance White Auto by setting the operating mode to Continuous */
errRes = PylonDeviceFeatureFromString(hdev, "BalanceWhiteAuto", "Continuous");
CHECK(errRes);
# Select auto function ROI 2
camera.AutoFunctionAOISelector.Value = "AOI2"
# Enable the Balance White Auto auto function
# for the auto function ROI selected
camera.AutoFunctionAOIUsageWhiteBalance.Value = True
# Enable Balance White Auto by setting the operating mode to Continuous
camera.BalanceWhiteAuto.Value = "Continuous"
기타 카메라#
// Select auto function ROI 2
camera.AutoFunctionROISelector.SetValue(AutoFunctionROISelector_ROI2);
// Enable the Balance White Auto auto function
// for the auto function ROI selected
camera.AutoFunctionROIUseWhiteBalance.SetValue(true);
// Enable Balance White Auto by setting the operating mode to Continuous
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Continuous);
INodeMap& nodemap = camera.GetNodeMap();
// Select auto function ROI 2
CEnumParameter(nodemap, "AutoFunctionROISelector").SetValue("ROI2");
// Enable the Balance White Auto auto function
// for the auto function ROI selected
CBooleanParameter(nodemap, "AutoFunctionROIUseWhiteBalance").SetValue(true);
// Enable Balance White Auto by setting the operating mode to Continuous
CEnumParameter(nodemap, "BalanceWhiteAuto").SetValue("Continuous");
// Select auto function ROI 2
camera.Parameters[PLCamera.AutoFunctionROISelector].SetValue(PLCamera.AutoFunctionROISelector.ROI2);
// Enable the Balance White Auto auto function
// for the auto function ROI selected
camera.Parameters[PLCamera.AutoFunctionROIUseWhiteBalance].SetValue(true);
// Enable Balance White Auto by setting the operating mode to Continuous
camera.Parameters[PLCamera.BalanceWhiteAuto].SetValue(PLCamera.BalanceWhiteAuto.Continuous);
/* 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 */
/* Select auto function ROI 2 */
errRes = PylonDeviceFeatureFromString(hdev, "AutoFunctionROISelector", "ROI2");
CHECK(errRes);
/* Enable the Balance White Auto auto function */
/* for the auto function ROI selected */
errRes = PylonDeviceSetBooleanFeature(hdev, "AutoFunctionROIUseWhiteBalance", 1);
CHECK(errRes);
/* Enable Balance White Auto by setting the operating mode to Continuous */
errRes = PylonDeviceFeatureFromString(hdev, "BalanceWhiteAuto", "Continuous");
CHECK(errRes);
# Select auto function ROI 2
camera.AutoFunctionROISelector.Value = "ROI2"
# Enable the Balance White Auto auto function
# for the auto function ROI selected
camera.AutoFunctionROIUseWhiteBalance.Value = True
# Enable Balance White Auto by setting the operating mode to Continuous
camera.BalanceWhiteAuto.Value = "Continuous"
pylon Viewer를 사용하여 파라미터를 손쉽게 설정할 수도 있습니다.