카메라 파라미터 구성#
Exposure Time#
Exposure Time은 각 프레임마다 카메라 센서가 빛에 노출되는 시간을 정의합니다. 이는 이미지 밝기, 모션 블러 및 신호 Quality에 직접적인 영향을 미치기 때문에 이미지 취득에서 가장 중요한 파라미터 중 하나입니다.
Effects of Exposure Time#
노출되는 동안 센서는 광자를 수집하여 전기 신호로 변환합니다. Exposure Time이 길어질수록 더 많은 빛이 누적됩니다. 다음 시각 자료는 이를 요약한 것입니다.
Exposure Time의 길이는 다음과 같은 영향을 미칩니다.
- Brightness
- 노출이 길어지면 밝기가 증가합니다.
- 노출이 짧아지면 밝기가 감소합니다.
- 모션 블러
- 노출이 길면 움직이는 물체가 흐리게 나타납니다.
- 노출이 짧으면 움직이는 물체가 멈춘 것처럼 나타납니다.
- 이미지 노이즈
- 매우 짧은 노출은 노이즈가 있는 이미지(낮은 신호)를 초래할 수 있습니다.
- 노출을 길게 하면 신호 Quality가 향상되지만 모션 블러가 발생할 수 있습니다.
어플리케이션에 따라 Exposure Time을 지정할 때 어떤 효과에 우선순위를 둘지 결정해야 합니다. 다음 표가 지침이 될 수 있습니다.
| 목표 | 권장 노출 |
|---|---|
| 빠른 움직임 고정 | 짧은 노출 |
| 밝기 극대화 | 긴 노출 |
| 안정적인 측정 | 균형 잡힌 노출 |
구성 예제#
ExposureAuto = Off수동 제어를 보장합니다.ExposureTime에서 지정됩니다. 마이크로초(µs).
주요 핵심 사항#
Exposure Time은 항상 다음 요소들과 연관하여 선택해야 합니다.
- 장면의 밝기
- 움직임의 속도
- 프레임 레이트 요구 사항
올바른 Exposure Time을 지정하는 것은 신뢰할 수 있는 비전 시스템을 구축하는 데 있어 기본적인 단계입니다.
camera.ExposureAuto.Value = "Off"
camera.ExposureTime.Value = 3000 # Value is in microseconds. Check ValueRange for valid values.
#alternatively:
camera.ExposureTimeAbs.SetValue(3000, pylon.FloatValueCorrection_ClipToRange)
Gain#
Gain은 노출 후 센서 신호의 전자적 증폭을 제어합니다. Exposure Time과 달리 Gain은 캡처된 빛의 양을 늘리지 않고 기존 신호를 증폭합니다. 다음 시각 자료는 이를 요약한 것입니다.
Low gain → weak amplification → darker but cleaner image
High gain → strong amplification → brighter but noisier image
Effects of Gain#
- Brightness
- Gain을 높이면 이미지가 더 밝아집니다.
- 실제 신호 강도 자체를 증가시키지 않으며, 이미 캡처된 내용만 증폭합니다.
- 이미지 노이즈
- 더 높은 Gain은 신호와 노이즈를 모두 증폭합니다.
- 과도한 Gain은 이미지를 거칠게 만듭니다.
- 디테일 Quality
- 높은 Gain은 대비와 미세 세부 정보의 가시성을 저하시킬 수 있습니다.
구성 예제#
주요 핵심 사항#
- Exposure Time을 늘릴 수 없을 때 (예: 모션 블러 발생 위험 등으로 인해) Gain을 사용하십시오.
- 이미지 Quality와 신호 대 잡음비가 매우 중요한 경우 과도한 Gain을 피하십시오.
일반적인 규칙: 가능한 경우 높은 Gain보다 긴 Exposure Time을 선호하십시오.
ROI#
ROI(Region of Interest)는 각 프레임마다 실제로 읽혀지고 전송되는 센서의 영역을 정의합니다. 기본적으로 ROI는 센서와 동일한 크기(전체 해상도)입니다. 너비와 높이를 변경하여 장면의 관련 부분에만 집중할 수 있습니다. 다음 시각 자료는 이를 요약한 것입니다.
ROI를 줄이면 지정된 영역 외곽의 픽셀은 읽혀지거나 전송되지 않습니다.
다음 항목을 사용하여 ROI를 조정할 수 있습니다. Width, Height, OffsetX 및 OffsetY 매개변수. Width + OffsetX 제한을 받습니다 MaxWidth 및 Height + OffsetY 제한을 받습니다 MaxHeight.
정보
- ROI 치수는 하드웨어 제약(증분, 정렬)의 적용을 받습니다.
- 최대 ROI는 전체 센서 해상도와 같습니다.
- ROI를 변경하려면 이미지 취득을 중지해야 합니다.
Effects of ROI Changes#
- 프레임 레이트 증가: 프레임당 데이터가 줄어들면 더 빠른 리드아웃과 더 높은 프레임 레이트(fps)를 얻을 수 있습니다.
- 대역폭 감소: 이는 GigE 카메라에 특히 중요합니다.
- 프로세싱 부하 감소: 더 작은 이미지를 통해 더 빠른 이미지 처리(OpenCV/AI)가 가능합니다.
- 관심 영역 집중: 장면에서 관련 없는 부분을 무시할 수 있습니다.
다음 표는 더 작은 ROI가 애플리케이션에 어떻게 도움이 되는지 가이드를 제공합니다.
| 사용 사례 | 더 작은 ROI의 이점 |
|---|---|
| 작은 개체 추적 | 더 빠른 처리 및 노이즈 감소 |
| 고속 검사 | 프레임 속도 증가 |
| 특정 영역의 에지 검출 | 연산량 감소 |
구성 예제#
주요 핵심 사항#
ROI 축소는 머신 비전 시스템에서 가장 효과적인 성능 향상 도구 중 하나입니다. 소스에서 데이터 양을 줄임으로써 다음 측면이 향상됩니다.
- 처리량
- Latency
- 시스템 확장성
소프트웨어를 통한 이미지 자르기와 달리, ROI를 줄이면 데이터가 파이프라인으로 들어가기 전에 불필요한 데이터가 제거됩니다.
Static Defect Pixel Correction#
Defect Pixel Correction을 사용하면 센서 개별 픽셀의 감도 차이로 인한 영향을 최소화할 수 있습니다. 이 기능은 모든 카메라에서 지원되는 것은 아닙니다. 따라서 현재 장치에서 지원되지 않을 경우에 대비하는 것이 중요합니다.
정보
- 설정하려는 속성을 식별하려면
pylon.StaticDefectPixelCorrection(각각camera.NodeMap. - 설정하려는 속성을 식별하려면
ListType_Factory공장 제공 결함 픽셀 읽기. - 설정하려는 속성을 식별하려면
ListType_User사용자 지정 결함 픽셀 읽기/업데이트. - 예외 처리
pylon.RuntimeException및pylon.InvalidArgumentException지원되지 않는 모델의 경우.
구성 예제#
from pypylon import pylon
with pylon.InstantCamera(pylon.FirstFound) as camera:
# Read the factory defect pixel list.
factory_ok, factory_pixels = pylon.StaticDefectPixelCorrection.GetDefectPixelList(
camera.NodeMap,
[],
pylon.StaticDefectPixelCorrection.ListType_Factory,
)
# Build/update the user list as (x, y) or (x, y, type) tuples.
user_pixels = [(100, 200), (300, 400, 0)]
try:
normalize_ok, normalized_pixels = pylon.StaticDefectPixelCorrection.NormalizePixelList(
camera.NodeMap,
user_pixels,
)
set_ok, written_pixels = pylon.StaticDefectPixelCorrection.SetDefectPixelList(
camera.NodeMap,
normalized_pixels,
pylon.StaticDefectPixelCorrection.ListType_User,
)
get_ok, read_back_pixels = pylon.StaticDefectPixelCorrection.GetDefectPixelList(
camera.NodeMap,
[],
pylon.StaticDefectPixelCorrection.ListType_User,
)
except (pylon.RuntimeException, pylon.InvalidArgumentException):
# Camera does not provide this feature.
pass
주요 핵심 사항#
정적 결함 픽셀 보정을 장치 종속 기능으로 취급하세요. 사용 가능한 경우 사용하고, 사용할 수 없는 경우 적절하게 대체 동작을 수행하도록 하세요.