Sensor State#
這有助於降低功耗、減少發熱,並縮短擷取影像時的延遲。
使用功能#
為何要使用Sensor State#
相機感測器具有以下電源狀態:
- 開啟
- 待命
- 關閉
相機啟動或重置後的預設感測器狀態為待機模式。當設定特定參數時,感測器會自動切換至待機模式。一旦開始擷取影像,感測器便會重新啟動,但會有一定的延遲。
Sensor State 功能可讓您手動設定感測器狀態。此舉可減少擷取影像時的延遲。
將感光元件設為待機模式,也有助於降低功耗和發熱量。這反過來亦能對影像品質產生正面影響。
確定Sensor State#
要確定電流感測器的當前狀態,請取得 BslSensorState 參數值。
設定Sensor State#
要設定感測器狀態,請執行以下其中一個指令:
BslSensorOn: 感測器已開啟。BslSensorStandby: 感測器進入待機模式。功耗隨之降低。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);
您也可以 use the pylon Viewer 來輕鬆設定參數。