コンテンツにスキップ
ステージングサーバー
開発サーバー

Sensor Bit Depth#

Sensor Bit Depthカメラ機能を使用すると、画像センサーによるデータ出力のビット深度を変更できます。

センサーのビット深度を小さくすると、カメラのフレームレートが上がる可能性があります。センサーのビット深度を大きくすると、画質が向上する場合があります。

機能を使用する#

Sensor Bit Depthを使用する理由#

センサーのビット深度は、画像センサーによるデータ出力のビット深度を定義します。カメラで実行されるその後の画像処理はすべて、このデータに基づいて行われます。

センサーのビット深度を設定する場合は、次のガイドラインが適用されます。

  • 最適な画質を得るには、センサーのビット深度を高い値に設定します。
    センサーのビット深度を高くすると、カメラの内部画像計算が高いビット深度に基づいて行われるため、画質が向上します。
  • 最適なパフォーマンスを得るには、センサーのビット深度を低い値に設定します。
    センサーのビット深度を低くすると、センサーの読み出し時間が短くなるため、パフォーマンスが向上します。

Sensor Bit Depth Mode#

Sensor Bit Depth モードを使用すると、Sensor Bit Depth を使用する Pixel Format とは独立して設定できるかどうかを定義できます。設定できるのは BslSensorBitDepthMode パラメーターを次のいずれかの値に設定します。

  • Auto: 使用されるに応じて、Sensor Bit Depth が自動的に調整されます。これはデフォルトの設定です。たとえば、Pixel Format を Bayer 12 に設定した場合、Sensor Bit Depth は自動的に 12 bit に設定されます。 ピクセルフォーマット 使用されるに応じて、Sensor Bit Depth が自動的に調整されます。これはデフォルトの設定です。たとえば、Pixel Format を Bayer 12 に設定した場合、Sensor Bit Depth は自動的に 12 bit に設定されます。
  • Manual: Sensor Bit Depth は、使用する Pixel Format とは関係なく設定できます。たとえば、12 ビットのセンサーデータに基づいて 8 ビットの画像データを出力するようにカメラを設定できます(Pixel Format = Mono 8、Sensor Bit Depth = 12 bit)。

情報

  • a2A1920、a2A4504、a2A5320、a2A5328、boA4096、boA4112、boA4504、boA5320、boA5328、および dart M カメラでは、次のように設定した場合: BslSensorBitDepthMode パラメータを Auto で 8 ビットの Pixel Format(例:Mono 8)を選択すると、Sensor Bit Depth は 10 bit に設定されます。これにより、パフォーマンスを犠牲にすることなく Quality が向上します。
  • boA4096、boA4112、boA4504、boA5320、boA5328、a2A2560-131cmSWIR、および a2A2048-173cmSWIR カメラでは、Sensor Bit Depth を 8 bit に設定すると、次のような効果があります:
    • 飽和容量を1/4の係数で縮小
    • ダイナミックレンジの縮小
    • 高フレームレート
  • boA13440-17cm カメラでは、Sensor Bit Depth は使用する Pixel Format に応じて制限されます。センサーから出力されるデータのビット深度は、常に、送信される画像データのフォーマットと同等以上である必要があります。たとえば、12 ビットの画像データを出力するようにカメラを設定した場合、センサーデータは 12 または 14 ビットにのみ設定できます(Pixel Format = Mono 12、Sensor Bit Depth = 12 bit または 14 bit)。

Sensor Bit Depthの設定#

  1. パラメーターを BslSensorBitDepthMode パラメータを Manual.
  2. パラメーターを BslSensorBitDepth パラメータを希望の値に設定します。
    たとえば、パラメータを次のように設定すると: Bpp12 12 bpp(ピクセルあたりのビット数)のビット深度が設定されます。

サンプルコード#

// 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);
# Set the pixel format to Mono 8
camera.PixelFormat.Value = "Mono8"
# Set the sensor bit depth mode to Manual
camera.BslSensorBitDepthMode.Value = "Manual"
# Set the sensor bit depth to 8 bit
camera.BslSensorBitDepth.Value = "Bpp8"

pylon Viewerを使用して、パラメーターを簡単に設定することもできます。