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

Sensor State#

使用 Sensor State camera feature 可以設定感光元件的電源狀態。

這有助於降低擷取影像時的功耗、發熱量以及延遲。

使用此功能#

為什麼要使用 Sensor State#

相機感光元件具有以下電源狀態:

  • 在
  • Standby
  • 關閉

相機啟動或重設後的預設 Sensor State 為 standby 模式。當設定特定參數時,感光元件會自動切換至 standby 模式。一旦開始擷取影像,感光元件就會再次開啟,但會產生一定的延遲。

使用 Sensor State 功能,您可以手動設定感光元件狀態。這有助於減少擷取影像時的延遲。

將感光元件設為 standby 模式也有助於降低功耗與發熱量,進而對 Quality 產生正面影響。

確定 Sensor State#

若要決定目前的 Sensor State,請取得 BslSensorState 參數值。

設定 Sensor State#

若要設定 Sensor State,請執行以下其中一個指令:

  • BslSensorOn:感光元件已開啟。
  • BslSensorStandby:感光元件已切換至 standby 模式。功耗降低。
  • BslSensorOff:感光元件已關閉。

範例程式碼#

// Get current sensor state
BslSensorStateEnums e = camera.BslSensorState.GetValue();
// Switch sensor power on
camera.BslSensorOn.Execute();
 // Put sensor in standby mode
camera.BslSensorStandby.Execute();
// Switch sensor power off
camera.BslSensorOff.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Get current sensor state
String_t e = CEnumParameter(nodemap, "BslSensorState").GetValue();
// Switch sensor power on
CCommandParameter(nodemap, "BslSensorOn").Execute();
// Put sensor in standby mode
CCommandParameter(nodemap, "BslSensorStandby").Execute();
// Switch sensor power off
CCommandParameter(nodemap, "BslSensorOff").Execute();
// Get current sensor state
string e = camera.Parameters[PLCamera.BslSensorState].GetValue();
// Switch sensor power on
camera.Parameters[PLCamera.BslSensorOn].Execute();
// Put sensor in standby mode
camera.Parameters[PLCamera.BslSensorStandby].Execute();
// Switch sensor power off
camera.Parameters[PLCamera.BslSensorOff].Execute();
size_t len = 0;
char e_str[64] = {0};
/* Get current sensor state */
len = sizeof(e_str);
errRes = PylonDeviceFeatureToString(hdev, "BslSensorState", e_str, &len);
CHECK(errRes);
/* Switch sensor power on */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslSensorOn");
CHECK(errRes);
/* Put sensor in standby mode */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslSensorStandby");
CHECK(errRes);
/* Switch sensor power off */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslSensorOff");
CHECK(errRes);
# Get current sensor state
e = camera.BslSensorState.Value
# Switch sensor power on
camera.BslSensorOn.Execute()
# Put sensor in standby mode
camera.BslSensorStandby.Execute()
# Switch sensor power off
camera.BslSensorOff.Execute()

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