opencv calibration 예제

카메라를 보정하기 위해, 첫 번째 단계는 치즈 보드의 교정 이미지에서 읽을 것입니다. 그것은 신뢰할 수있는 교정을 얻기 위해 적어도 20 개의 이미지를 사용하는 것이 좋습니다, 이를 위해, 우리는 여기에 많은 이미지를 가지고, 각 체스 보드는 감지 할 수있는 여덟 여섯 모서리가, 여기에 중요한 점은 당신이 본질적으로 교정 의 단위를 설정하는 것입니다. 체스판의 사각형 크기가 30mm이고 이러한 좌표를 (0,0,0), (0, 30, 0) 등으로 제공했다고 가정하면 모든 미지수를 밀리미터 단위로 얻을 수 있습니다. 조명이 양호하면 이미지가 흐려지지 않고 BoofCV가 보정 대상을 잘못 설명했기 때문에 보정을 거부합니다. 대상의 행과 열이 계산되는 방식은 보편적으로 합의되지 않습니다. BoofCV에 포함된 생성기를 사용하여 생성된 문서가 왼쪽 아래 모서리에 대상의 이름과 특성을 인쇄하는 이유입니다. libpopt를 사용하여 필요한 모든 사용자 입력을 얻고 setup_calibration 함수를 호출합니다. 이 후 우리는 다음과 같은 작업을 수행하는 큰 루프가 있습니다 : 이미지 목록, 카메라 또는 비디오 파일에서 다음 이미지를 가져옵니다. 이 작업이 실패하거나 이미지가 충분한 경우 교정 프로세스를 실행합니다. 이미지의 경우 우리는 루프에서 단계및 그렇지 않으면 나머지 프레임은 (옵션이 설정된 경우) CALIBRATED 하나에 감지 모드에서 변경을 통해 왜곡되지 않습니다. 보정 응용 프로그램을 사용하는 경우 BoofCV 및 OpenCV 형식으로 찾은 매개 변수를 저장할지 여부를 결정할 수 있습니다. 카메라 교정은 본질 및/또는 외적 파라미터를 추정하는 프로세스입니다.

본질적인 매개변수는 초점 거리, 기울이기, 왜곡 및 이미지 중심과 같은 카메라의 내부 특성을 다룹니다. 외적 매개변수는 세계에서의 위치와 방향을 설명합니다. 본질적인 파라미터를 아는 것은 유클리드 공간에서 장면의 구조를 추정하고 렌즈 왜곡을 제거하여 정확도를 떨어뜨리는 3D 컴퓨터 비전의 필수 첫 번째 단계입니다. BoofCV는 표준 크기의 용지에 쉽게 인쇄할 수 있는 여러 평면 대상 유형(위의 그림 참조)에 대해 완전 자동화된 교정을 제공합니다. 잘못된 교정은 매우 가능합니다. 여기 내 시도 중 하나에 있어: 기본적으로 보조 된 보정 웹캠 캡처에서 비디오 피드를 사용 하 여. 약간의 코딩을 사용하면 BufferedImage를 얻을 수있는 한 정말 아무것도에서 비디오 소스를 쉽게 추가 할 수 있습니다. 카메라 보정을 살펴보십시오. 교정 이미지를 로드하고 처리하도록 자체 소프트웨어를 코딩하는 것도 쉽지만 더 지루합니다.

보정 응용 프로그램은 아직 스테레오 카메라를 지원하지 않습니다. 사용하는 교정 대상은 개인 취향의 문제입니다.