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

Balance White Auto (dart E)#

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

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

使用此功能#

啟用或停用 Balance White Auto#

若要啟用或停用 Balance White Auto 自動功能,請設定 BalanceWhiteAuto 參數設定為以下其中一種 Operating Mode:

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

運作原理#

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

  1. 相機比較紅色、綠色和藍色像素的平均灰階值。它會決定平均灰階值最高(即最亮)的顏色,並設定 BalanceRatio Property 值設為 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 輕鬆設定參數。