728x90
📷 카메라 캘리브레이션이란?
카메라 캘리브레이션(Camera Calibration)은 카메라의 광학적 특성을 파악하고 보정하는 과정입니다. 쉽게 말해, 카메라가 실제 세계를 어떻게 "잘못" 인식하는지 알아내고, 이를 보정하는 과정이라고 생각하면 됩니다.
📌 왜 캘리브레이션이 필요할까요?
1. 왜곡 보정(Distortion Correction)
카메라 렌즈는 완벽한 평면이 아니라 곡선이 있기 때문에 촬영한 영상이 왜곡될 수 있습니다. 특히 광각 렌즈는 직선이 휘어 보이는 **배럴 왜곡(Barrel Distortion)**이 심하게 발생합니다. 캘리브레이션을 통해 이러한 왜곡을 보정할 수 있습니다.
✅ 방사 왜곡(Radial Distortion): 직선이 휘어지는 현상
- 배럴 왜곡(Barrel Distortion): 원근감이 과장되어 중앙이 볼록해 보임
- 핀쿠션 왜곡(Pincushion Distortion): 중앙이 움푹 들어간 형태
-
✅ 접선 왜곡(Tangential Distortion): 렌즈가 센서와 완벽하게 정렬되지 않아서 발생
2. 정확한 3D 측정(3D Reconstruction & Measurement)
컴퓨터 비전이나 로봇이 현실 세계에서 정확한 거리나 크기를 측정하려면, 카메라가 실제 세상을 어떻게 보는지 알아야 합니다. 캘리브레이션을 수행하면 카메라의 초점 거리(focal length), 광축(optical axis), 왜곡 계수(distortion coefficients) 등을 계산할 수 있습니다.
카메라 캘리브레이션 과정
📌 (1) 체커보드 패턴 촬영
체커보드(Checkerboard) 또는 원형 패턴(Circle Grid)을 여러 각도에서 촬영하여 이미지에서 특징점을 검출합니다.
📌 (2) 내부 파라미터(Intrinsic) 계산
- 초점 거리(fx, fy)
- 광학 중심(cx, cy)
- 렌즈 왜곡 계수(k1, k2, p1, p2, k3)
📌 (3) 외부 파라미터(Extrinsic) 계산
- 회전(Rotation, R)
- 이동(Translation, T)
📌 (4) 왜곡 보정(Distortion Correction)
- OpenCV의 cv2.undistort() 함수로 이미지 왜곡을 제거할 수 있음.
728x90
'프로그래밍 > geometry(기하학)' 카테고리의 다른 글
카메라 내부 파라미터 (Intrinsic Parameters) (0) | 2025.04.05 |
---|---|
카메라 캘리브레이션(camera calibration) 원리 (0) | 2025.04.04 |