Scaling#
Scaling 기능은 ace 2 카메라에서만 사용할 수 있는 Pixel Beyond 기능과 유사합니다.
기능 사용법#
작동 원리#
스케일링 중에는 interpolation을 통해 이미지 크기가 비례적으로 축소됩니다. 픽셀 값은 스케일된 이미지의 픽셀에 매핑되도록 필요에 따라 합산되고 평균화됩니다. 이를 통해 신호 대 잡음비(SNR)가 향상됩니다.
Scaling은 선택한 scaling factor에 의해 제어됩니다. 동일한 팩터가 수평 및 수직 방향으로 적용됩니다. 팩터가 1.0인 경우 이미지 크기는 유지됩니다. 1.0보다 작은 팩터는 이미지의 너비와 높이를 줄어들게 합니다.
Scaling 구성#
Scaling을 구성하려면 다음을 수행하십시오.
- 카메라가 유휴 상태인지, 즉 이미지를 캡처하고 있지 않은지 확인하십시오.
- binning 및 decimation 팩터를 1로 설정하여 Decimation과 Binning을 비활성화합니다.
- 다음 값 중 하나로
ScalingHorizontalparameter를 원하는 scaling 값.
정보
- 변경
ScalingHorizontal파라미터 값은 자동으로ScalingVertical파라미터 값에 맞춰집니다. 이를 통해 원래의 가로세로 비율이 유지됩니다. - Scaling 기능을 사용하는 동안에는 Binning과 Decimation을 사용할 수 없습니다.
Scaling 값#
0.125에서 1 사이의 scaling factor를 선택할 수 있습니다. 단, 112개의 개별 값만 사용할 수 있습니다. 사용할 수 없는 값을 입력하면 float 컨트롤이 자동으로 가장 가까운 사용 가능한 값으로 반올림하거나 반내림합니다.
유효한 값을 계산하려면 다음 공식을 사용하십시오. 16/x (여기서 x = 16에서 128 사이의 임의의 자연수)
| 예제 | 결과 Scaling Factor | 영향 |
|---|---|---|
| 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 카메라#
/* 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를 사용하여 파라미터를 손쉽게 설정할 수 있습니다.