콘텐츠로 바로 가기
STAGING SERVER
DEVELOPMENT SERVER

Sensor Bit Depth#

Sensor Bit Depth 카메라 기능을 사용하면 이미지 센서가 출력하는 데이터의 비트 심도를 변경할 수 있습니다.

Sensor Bit Depth를 낮추면 카메라의 프레임 레이트가 높아질 수 있습니다. Sensor Bit Depth를 높이면 화질이 향상될 수 있습니다.

기능 사용#

Sensor Bit Depth를 사용하는 이유#

Sensor Bit Depth는 이미지 센서가 출력하는 데이터의 비트 심도를 정의합니다. 카메라가 수행하는 이후의 모든 이미지 처리는 이 데이터를 기반으로 합니다.

Sensor Bit Depth를 설정할 때는 다음 지침이 적용됩니다.

  • 최적의 Image Quality을 위해 Sensor Bit Depth를 높은 값으로 설정하십시오.
    카메라의 내부 이미지 연산이 더 높은 비트 심도를 기반으로 수행되므로, Sensor Bit Depth가 높을수록 화질이 향상될 수 있습니다.
  • 최적의 성능을 위해 Sensor Bit Depth를 낮은 값으로 설정하십시오.
    Sensor Readout Time이 짧아지므로, Sensor Bit Depth가 낮을수록 성능이 향상될 수 있습니다.

Sensor Bit Depth Mode#

Sensor Bit Depth Mode를 사용하면 사용하는 Pixel Format과 독립적으로 Sensor Bit Depth를 설정할 수 있는지 여부를 정의할 수 있습니다. 다음을 설정할 수 있습니다. BslSensorBitDepthMode 파라미터를 설정하십시오:

  • Auto: 사용하는 항목에 따라 Sensor Bit Depth가 자동으로 조정됩니다. 픽셀 형식 이 설정이 기본값입니다. 예를 들어 Pixel Format을 Bayer 12로 설정하면 Sensor Bit Depth가 자동으로 12 bit로 설정됩니다.
  • Manual: 사용하는 Pixel Format과 독립적으로 Sensor Bit Depth를 설정할 수 있습니다. 예를 들어 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로 설정됩니다. 이를 통해 성능 저하 없이 화질이 향상됩니다.
  • boA4096, boA4112, boA4504, boA5320, boA5328, a2A2560-131cmSWIR, a2A2048-173cmSWIR 카메라에서 Sensor Bit Depth를 8 bit로 설정하면 다음과 같은 효과가 있습니다.
    • Full well capacity가 1/4배로 감소함
    • 동적 범위(Dynamic Range) 감소
    • 더 높은 프레임 레이트
  • boA13440-17cm 카메라에서는 사용하는 Pixel Format에 따라 Sensor Bit Depth가 제한됩니다. 센서가 출력하는 데이터의 비트 심도는 전송되는 이미지 데이터의 포맷과 같거나 높아야 합니다. 예를 들어 12비트 이미지 데이터를 출력하도록 카메라를 구성하는 경우, 센서 데이터는 12 bit 또는 14 bit로만 설정할 수 있습니다(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를 사용하여 파라미터를 손쉽게 설정할 수도 있습니다.