Sensor State#
這有助於降低擷取影像時的功耗、發熱量以及延遲。
使用此功能#
為什麼要使用 Sensor State#
相機感光元件具有以下電源狀態:
- 在
- Standby
- 關閉
相機啟動或重設後的預設 Sensor State 為 standby 模式。當設定特定參數時,感光元件會自動切換至 standby 模式。一旦開始擷取影像,感光元件就會再次開啟,但會產生一定的延遲。
使用 Sensor State 功能,您可以手動設定感光元件狀態。這有助於減少擷取影像時的延遲。
將感光元件設為 standby 模式也有助於降低功耗與發熱量,進而對 Quality 產生正面影響。
確定 Sensor State#
若要決定目前的 Sensor State,請取得 BslSensorState 參數值。
設定 Sensor State#
若要設定 Sensor State,請執行以下其中一個指令:
BslSensorOn:感光元件已開啟。BslSensorStandby:感光元件已切換至 standby 模式。功耗降低。BslSensorOff:感光元件已關閉。
範例程式碼#
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);
您也可以使用 pylon Viewer 來輕鬆設定參數。