카메라 렌즈 교정 - Helsparrow/OpenpnpDocs_KR GitHub Wiki

카메라 렌즈 보정을 통해 OpenPnP는 사용 중인 카메라 렌즈의 파라미터에 대해 학습한 다음 왜곡 제거 알고리즘을 적용하여 렌즈로 인한 이미지 왜곡을 제거할 수 있습니다. 이것은 어안 렌즈에 특히 유용합니다. 직선이 일반적으로 렌즈에 의해 구부러질 때 직선을 똑바르게 보이도록 만들 수 있기 때문입니다.

보정 프로세스는 다양한 위치와 방향에서 카메라에 알려진 패턴을 보여주는 것으로 구성됩니다. 설정된 수의 이미지가 패턴에서 캡처된 다음 OpenCV가 렌즈 매개변수를 계산하는 데 사용됩니다.

카메라 렌즈를 보정하려면:

  1. http://nerian.com/support/resources/patterns/에서 패턴을 다운로드하고 인쇄합니다. 패턴을 인쇄할 때 카메라의 전체 시야를 차지하지만 패턴을 약간 회전할 수 있는 충분한 공간이 있도록 크기를 조정합니다. (다운로드 페이지에 패턴을 스케일링하지 말라는 경고에 대해 걱정하지 마십시오. 왜곡 제거에만 사용합니다. 카메라 스케일 설정은 다른 곳에서 수행됩니다)

  2. 인쇄된 패턴을 마분지나 뻣뻣한 마분지에 붙입니다. 캘리브레이션 프로세스 동안 상대적으로 평평한 상태를 유지해야 하며 이리저리 움직여야 합니다.

  3. "Start Lens Calibration" 버튼을 클릭하여 보정 프로세스를 시작하고 화면의 지시를 따릅니다. 카드를 움직이면 카메라가 패턴을 인식하는 것을 볼 수 있습니다. 750밀리초마다 샘플을 채취하고 화면이 깜박입니다.

screen shot 2016-02-21 at 2 35 27 pm

보정은 패턴이 다양한 방향과 위치에서 캡처될 때 가장 잘 작동합니다. 카드를 이리저리 움직여야 합니다. 카드를 돌리고, 카메라를 향하거나 카메라 반대 방향으로 기울이고, 카메라 시야 내에서 카드를 이동하는 등의 작업을 수행합니다.

  1. 프로세스가 완료되면 OpenPnP는 왜곡 제거 기능을 활성화하고 모든 것이 잘 진행되면 이제 카메라 뷰가 왜곡되지 않은 것처럼 보일 것입니다. 보정 이전 및 이후 결과를 비교하려면 "Apply Calibration?" 체크박스를 토글하십시오.

수행 중인 프로세스에 대한 비디오는 https://www.youtube.com/watch?v=LNa2LNSpa68에서 볼 수 있습니다.

참고 문헌: http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html http://opencv-java-tutorials.readthedocs.org/en/latest/09-camera-calibration.html https://github.com/openpnp/openpnp/issues/226