コンテンツにスキップ

Sensor Bit Depth#

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

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

機能を使用する#

Sensor Bit Depthを使用する理由#

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

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

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

Sensor Bit Depth Mode#

センサービット深度モードでは、使用するピクセルフォーマットとは別にセンサービット深度を設定できるかどうかを定義できます。BslSensorBitDepthModeパラメーターには、次のいずれかの値を設定できます。

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

情報

  • On a2A1920, a2A4504, a2A5320, a2A5328, boA4096, boA4112, boA4504, boA5320, boA5328, and dart M cameras, if you set the BslSensorBitDepthMode parameter to Auto and select an 8-bit pixel format (e.g., Mono 8), the sensor bit depth is set to 10 bit. This improves image quality without sacrificing performance.
  • boA4096、boA4112、boA4504、boA5320、およびboA5328カメラでは、センサービット深度を8ビットに設定すると、次の効果があります。
    • 飽和容量を1/4の係数で縮小
    • ダイナミックレンジの縮小
    • 高フレームレート
  • On boA13440-17cm cameras, the sensor bit depth is limited depending on the pixel format used. The bit depth of the data output by the sensor must always be equal or higher than the format of the image data transmitted. For example, if you configure the camera to output 12-bit image data, the sensor data can only be set to 12 or 14 bit (pixel format = Mono 12, sensor bit depth = 12 bit or 14 bit).

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