コンテンツにスキップ

Sensor Bit Depth#

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カメラで、BslSensorBitDepthModeパラメーターをAutoに設定し、8ビットピクセルフォーマット(Mono 8など)を選択すると、センサーのビット深度は10ビットに設定されます。これにより、パフォーマンスを犠牲にすることなく画質が向上します。
  • boA4096およびboA4112カメラでは、センサーのビット深度を8ビットに設定すると、次のような効果があります。
    • 飽和容量を1/4の係数で縮小
    • ダイナミックレンジの縮小
    • 高フレームレート

Sensor Bit Depthの設定#

  1. BslSensorBitDepthModeパラメーターをManualに設定します。
  2. 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を使用して、パラメーターを簡単に設定することもできます。