Scaling#
Scaling 기능은 ace 2 카메라에서만 사용할 수 있는 Pixel Beyond 기능과 유사합니다.
기능 사용#
작동 방식#
Scaling 중에는 보간법(interpolation)에 의해 이미지 크기가 비례적으로 축소됩니다. 픽셀 값은 스케일링된 이미지의 픽셀에 매핑되도록 필요에 따라 합산되고 평균화됩니다. 이를 통해 신호 대 잡음비가 증가합니다.
Scaling은 사용자가 선택한 스케일링 팩터에 의해 제어됩니다. 수평 및 수직 방향에 동일한 팩터가 적용됩니다. 팩터가 1.0인 경우 이미지 크기는 유지됩니다. 1.0보다 작은 팩터는 이미지의 너비와 높이를 축소시킵니다.
Configuring Scaling#
Scaling을 구성하려면:
- 카메라가 유휴 상태인지, 즉 이미지를 캡처하고 있지 않은지 확인하십시오.
- binning 및 decimation 팩터를 1로 설정하여 Decimation과 Binning을 비활성화합니다.
- 파라미터를 원하는
ScalingHorizontal매개변수를 원하는 scaling 값.
정보
- 변경 중
ScalingHorizontal파라미터 값은 자동으로ScalingVertical파라미터 값에 적용됩니다. 이를 통해 원래의 가로세로 비율이 유지됩니다. - Scaling 기능을 사용하는 경우 Binning과 Decimation을 사용할 수 없습니다.
Scaling Values#
0.125에서 1 사이의 스케일링 팩터를 선택할 수 있습니다. 단, 112개의 개별 값만 사용할 수 있습니다. 사용할 수 없는 값을 입력하면 부동 소수점 제어 기능이 자동으로 가장 가까운 사용 가능 값으로 반올림하거나 반내림합니다.
유효한 값을 계산하려면 다음 공식을 사용하십시오: 16/x (여기서 x = 16에서 128 사이의 임의의 자연수).
| 예제 | 결과 Scaling 팩터 | 결과 |
|---|---|---|
| 16 / 16 | 1.0 | 기본 설정. Scaling이 비활성화됩니다. 원래 이미지 크기는 변경되지 않습니다. Binning과 Decimation을 사용할 수 있습니다. |
| 16 / 17 | 0.941 | |
| 16 / 18 | 0.888 | |
| 기타 등등 | … | |
| 16 / 32 | 0.5 | 이미지 크기가 절반으로 줄어듭니다(팩터 2). |
| 16 / 64 | 0.25 | 이미지 크기가 팩터 4만큼 줄어듭니다. |
| 기타 등등 | … | |
| 16 / 128 | 0.125 | 이미지 크기가 8배(가장 큰 축소) 줄어듭니다. |
Scaling 사용 시 고려 사항#
ROI 설정에 미치는 영향#
Scaling을 사용할 때 Image ROI 및 Auto Function ROI 설정은 센서의 물리적 행과 열이 아니라 수정된 이미지의 스케일링된 행과 열을 참조합니다.
예를 들어, 3,840 x 2,748 센서가 장착된 카메라를 사용한다고 가정해 보겠습니다. 전체 해상도에 0.5의 Scaling factor가 적용됩니다. 이 경우 최대 ROI 너비는 1918이고 최대 ROI 높이는 1372입니다. ROI 너비와 높이 파라미터는 자동으로 조정됩니다. 마찬가지로 Scaling을 활성화하기 전에 정의한 오프셋도 자동으로 조정됩니다.
Scaling이 비활성화되면 ROI가 다시 증가하지만 원래 ROI보다 작을 수 있습니다.
정보
Basler에서는 Scaling을 비활성화한 후 항상 Image ROI 설정을 확인하고, 필요한 경우 Image ROI를 수동으로 원하는 크기와 위치로 복원할 것을 권장합니다.
해상도 감소#
Scaling을 사용하면 카메라 이미지 센서의 해상도가 효과적으로 감소합니다. 예를 들어 3,840 x 2,748 센서가 장착된 카메라에서 0.25의 Scaling factor를 구성하는 경우 카메라의 유효 해상도는 954 x 682로 감소합니다.
반올림 손실#
Scaling 중에는 이미지 치수가 자주 반올림됩니다. Scaling factor를 반복해서 변경하면 반올림 효과가 누적됩니다. 이전 이미지 크기로 돌아갈 때 반올림으로 인해 손실된 치수는 복원할 수 없습니다.
누적된 반올림 손실을 방지하려면 이전 이미지 크기를 수동으로 복원하십시오. 또는 전체 해상도와 같은 "참조" 이미지 크기로 돌아간 후 반올림 오류를 방지하기 위해 이미지 크기를 수동으로 지정하십시오.
샘플 코드#
ace Classic/U/L GigE Cameras#
/* 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 horizontal scaling to 0.5 */
errRes = PylonDeviceSetFloatFeature(hdev, "ScalingHorizontalAbs", 0.5);
CHECK(errRes);
/* Disable scaling */
errRes = PylonDeviceSetIntegerFeature(hdev, "ScalingHorizontalAbs", 1);
CHECK(errRes);
기타 카메라#
/* 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 horizontal scaling to 0.5 */
errRes = PylonDeviceSetFloatFeature(hdev, "ScalingHorizontal", 0.5);
CHECK(errRes);
/* Disable scaling */
errRes = PylonDeviceSetIntegerFeature(hdev, "ScalingHorizontal", 1);
CHECK(errRes);
pylon Viewer를 사용하여 파라미터를 손쉽게 설정할 수도 있습니다.