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の設定#
- パラメーターを
BslSensorBitDepthModeパラメータをManual. - パラメーターを
BslSensorBitDepthパラメータを希望の値に設定します。
たとえば、パラメータを次のように設定すると:Bpp1212 bpp(ピクセルあたりのビット数)のビット深度が設定されます。
サンプルコード#
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を使用して、パラメーターを簡単に設定することもできます。