Balance White#
자동 기능을 위한 픽셀 데이터는 하나 또는 여러 개의 auto function ROI에서 가져올 수 있습니다.
색상 편차를 수동으로 보정하려면 Balance White 기능을 사용하십시오.
기능 사용법#
Balance White Auto 활성화 또는 비활성화#
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 카메라 모델의 경우 자동 화이트 밸런싱은 다음과 같이 작동합니다.
- 이
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 카메라 모델의 경우 자동 화이트 밸런싱은 다음과 같이 작동합니다.
- 카메라는 빨간색, 초록색, 파란색 픽셀의 평균 회색조 값을 비교합니다. 그리고 다음 색상을 결정합니다. 가장 높은 평균 회색조 값 (즉, 가장 밝은 색상)을 가진 색상의
BalanceRatioparameter 값을 1로 설정합니다. -
카메라는 자동으로 다음을 조절합니다.
BalanceRatio빨간색, 초록색, 파란색의 평균 회색 값이 동일해질 때까지 나머지 두 색상의 파라미터 값을 조정합니다.그 결과,
BalanceRatio파라미터는 한 색상의 경우 1로 설정되고, 나머지 두 색상의 경우 1과 ≈15.98 사이의 값으로 설정됩니다.예: 이미지의 초록색 픽셀의 평균 회색 값이 가장 높다고 가정해 보겠습니다. Balance White Auto 자동 기능을 활성화하면 카메라가 설정합니다.
BalanceRatio초록색에 대한 파라미터 값은 1로 설정됩니다. 그런 다음 카메라가 자동으로 조정합니다.BalanceRatio빨간색, 초록색, 파란색의 평균 회색 값이 동일해질 때까지 빨간색과 파란색의 파라미터 값을 조정합니다. 새로운 balance ratio는 예를 들어 초록색 = 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 카메라 모델의 경우 자동 화이트 밸런스는 다음과 같이 작동합니다.
- 카메라는 빨간색, 초록색, 파란색 픽셀의 평균 회색조 값을 비교합니다. 그리고 다음 색상을 결정합니다. 중앙값 평균 회색 값 그리고 설정합니다
BalanceRatioparameter 값을 1로 설정합니다. -
카메라는 자동으로 다음을 조절합니다.
BalanceRatio빨간색, 초록색, 파란색의 평균 회색 값이 동일해질 때까지 나머지 두 색상의 파라미터 값을 조정합니다.그 결과, BalanceRatio 파라미터는 중앙값 회색 값을 가진 색상의 경우 1로 설정됩니다. 중앙값에 비해 회색 값이 더 높은 색상의 경우 BalanceRatio 파라미터는 0과 1 사이의 값으로 설정되며, 중앙값 회색 값에 비해 회색 값이 더 낮은 색상의 경우 파라미터는 1과 ≈15.98 사이로 설정됩니다.
예: 이미지의 초록색 픽셀이 중앙값 회색 값을 가지고 있고, 빨간색 픽셀은 초록색 픽셀보다 회색 값이 더 높으며, 파란색 픽셀은 초록색 픽셀보다 회색 값이 더 낮다고 가정해 보겠습니다.
Balance White Auto 자동 기능을 활성화하면 카메라가 설정합니다BalanceRatio초록색의 파라미터 값은 1로, 빨간색은 0과 1 사이의 값으로, 파란색 값은 1과 ≈15.98 사이의 값으로 설정됩니다. 새로운 balance ratio는 예를 들어 초록색 = 1, 빨간색 = 0.568, 파란색 = 3.1986이 될 수 있습니다.
정보
- 확인하려면
BalanceRatio빨간색, 초록색 또는 파란색의 파라미터 값을 확인하려면 다음을 사용하여 해당 색상 채널로 전환하세요.BalanceRatioSelector. - 카메라가 이미지를 연속적으로 캡처할 때 자동 기능은 약간의 지연과 함께 적용됩니다. 처음 몇 장의 이미지는 자동 기능의 영향을 받지 않을 수 있습니다.
- boost V 컬러 카메라에서는 Balance White Auto 자동 기능에 할당된 Auto Function ROI에 채도가 100%인 컬러 픽셀이 포함되어서는 안 됩니다. 그렇지 않으면 원치 않는 가색(false-color) 효과가 발생할 수 있습니다.
샘플 코드#
ace Classic/U/L GigE 카메라#
// 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를 사용하여 파라미터를 손쉽게 설정할 수 있습니다.