Sensor Bit Depth#
センサーのビット深度を小さくすると、カメラのフレームレートが上がる可能性があります。センサーのビット深度を大きくすると、画質が向上する場合があります。
機能を使用する#
Sensor Bit Depthを使用する理由#
センサーのビット深度は、画像センサーによるデータ出力のビット深度を定義します。カメラで実行されるその後の画像処理はすべて、このデータに基づいて行われます。
センサーのビット深度を設定する場合は、次のガイドラインが適用されます。
- 最適な画質を得るには、センサーのビット深度を高い値に設定します。
センサーのビット深度を高くすると、カメラの内部画像計算が高いビット深度に基づいて行われるため、画質が向上します。 - 最適なパフォーマンスを得るには、センサーのビット深度を低い値に設定します。
センサーのビット深度を低くすると、センサーの読み出し時間が短くなるため、パフォーマンスが向上します。
Sensor Bit Depth Mode#
センサービット深度モードでは、使用するピクセルフォーマットとは別にセンサービット深度を設定できるかどうかを定義できます。BslSensorBitDepthMode
パラメーターには、次のいずれかの値を設定できます。
Auto
:センサーのビット深度は、使用するピクセルフォーマットに応じて自動的に調整されます。これがデフォルト設定です。例えば、ピクセルフォーマットをBayer 12に設定すると、センサーのビット深度は自動的に12ビットに設定されます。Manual
:センサーのビット深度は、使用するピクセルフォーマットとは無関係に設定できます。例えば、12ビットのセンサーデータに基づいて8ビットの画像データを出力するようにカメラを設定できます(ピクセルフォーマット = Mono 8、センサービット深度 = 12ビット)。
情報
- a2A1920、a2A4504、a2A5320、a2A5328、boA4096、boA4112、boA4504、boA5320、およびboA5328カメラで、
BslSensorBitDepthMode
パラメーターをAuto
に設定し、8ビットピクセルフォーマット(Mono 8など)を選択すると、センサービット深度は10ビットに設定されます。これにより、パフォーマンスを犠牲にすることなく画質が向上します。 - boA4096、boA4112、boA4504、boA5320、およびboA5328カメラでは、センサービット深度を8ビットに設定すると、次の効果があります。
- 飽和容量を1/4の係数で縮小
- ダイナミックレンジの縮小
- 高フレームレート
Sensor Bit Depthの設定#
BslSensorBitDepthMode
パラメーターをManual
に設定します。BslSensorBitDepth
パラメーターを目的の値に設定します。
例えば、パラメーターをBpp12
に設定すると、ビット深度は12bpp(ビット/ピクセル)に設定されます。
サンプルコード#
// Set the pixel format to Mono 8
camera.PixelFormat.SetValue(PixelFormat_Mono8);
// Set the sensor bit depth mode to Manual
camera.BslSensorBitDepthMode.SetValue(BslSensorBitDepthMode_Manual);
// Set the sensor bit depth to 8 bit
camera.BslSensorBitDepth.SetValue(BslSensorBitDepth_Bpp8);
INodeMap& nodemap = camera.GetNodeMap();
// Set the pixel format to Mono 8
CEnumParameter(nodemap, "PixelFormat").SetValue("Mono8");
// Set the sensor bit depth mode to Manual
CEnumParameter(nodemap, "BslSensorBitDepthMode").SetValue("Manual");
// Set the sensor bit depth to 8 bit
CEnumParameter(nodemap, "BslSensorBitDepth").SetValue("Bpp8");
// Set the pixel format to Mono 8
camera.Parameters[PLCamera.PixelFormat].SetValue(PLCamera.PixelFormat.Mono8);
// Set the sensor bit depth mode to Manual
camera.Parameters[PLCamera.BslSensorBitDepthMode].SetValue(PLCamera.BslSensorBitDepthMode.Manual);
// Set the sensor bit depth to 8 bit
camera.Parameters[PLCamera.BslSensorBitDepth].SetValue(PLCamera.BslSensorBitDepth.Bpp8);
/* 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 */
/* Set the pixel format to Mono 8 */
errRes = PylonDeviceFeatureFromString(hdev, "PixelFormat", "Mono8");
CHECK(errRes);
/* Set the sensor bit depth mode to Manual */
errRes = PylonDeviceFeatureFromString(hdev, "BslSensorBitDepthMode", "Manual");
CHECK(errRes);
/* Set the sensor bit depth to 8 bit */
errRes = PylonDeviceFeatureFromString(hdev, "BslSensorBitDepth", "Bpp8");
CHECK(errRes);
pylon Viewerを使用して、パラメーターを簡単に設定することもできます。