跳至內容
測試伺服器
開發伺服器

Balance White Auto (dart E)#

Balance White Auto camera feature 會自動校正所擷取影像中的色偏。

若要手動校正色偏,請使用 Balance White 功能。

使用功能#

啟用或停用 Balance White Auto#

若要啟用或停用「Balance White 」的自動功能,請將 BalanceWhiteAuto 參數設為下列其中一個 Operating Mode:

  • Continuous: 相機在拍攝影像時會持續調整白平衡。
  • Off:停用 Balance White Auto 自動功能。 BalanceRatio 參數會維持上次自動或手動調整所產生的數值。

運作原理#

自動白平衡是一個分兩步驟進行的過程:

  1. 相機會比較紅、綠、藍三種像素的平均灰階值,並判斷哪種顏色的平均灰階值最高(即最亮的顏色),然後將 BalanceRatio 參數 該顏色的值設為 1。
  2. 相机会自动调整 BalanceRatio 其他兩種顏色的參數值,直到紅色、綠色和藍色的平均灰階值相同。

因此, BalanceRatio 參數設定為 1(適用於其中一種顏色),另外兩種顏色則設定介於 1 到 ≈15.98 之間的值。

範例: 假設您影像中的綠色像素具有最高的平均灰階值。如果您啟用 Balance White Auto 自動功能,相機將會把 BalanceRatio 綠色的參數值設為 1。接著,相機就會自動調整 BalanceRatio 紅色和藍色的參數值,直到紅色、綠色和藍色的平均灰階值相同。新的平衡比率可能例如為:綠色 = 1、紅色 = 1.08789,以及藍色 = 2.19678。

資訊

  • 若要檢視 BalanceRatio 紅色、綠色或藍色的參數值,請使用以下項目切換至各自的色彩通道: BalanceRatioSelector.
  • 當相機持續擷取影像時,自動功能會稍有延遲地生效。前幾張影像可能不會受到自動功能的影響。

範例程式碼#

// Enable Balance White Auto by setting the operating mode to Continuous
camera.BalanceWhiteAuto.SetValue(BalanceWhiteAuto_Continuous);
INodeMap& nodemap = camera.GetNodeMap();
// Enable Balance White Auto by setting the operating mode to Continuous
CEnumParameter(nodemap, "BalanceWhiteAuto").SetValue("Continuous");
// 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 */
/* Enable Balance White Auto by setting the operating mode to Continuous */
errRes = PylonDeviceFeatureFromString(hdev, "BalanceWhiteAuto", "Continuous");
CHECK(errRes);
# Enable Balance White Auto by setting the operating mode to Continuous
camera.BalanceWhiteAuto.Value = "Continuous"

您也可以使用 pylon Viewer 輕鬆設定參數。