이론적 배경

Geometric Transformation

x 및 y 좌표를 사용한 2차원 이미지 회전과 평행 이동의 조합은 다음과 같이 나타낼 수 있습니다.

수식 19.


여기서 x'와 y'는 타겟 이미지의 좌표입니다. 회전 각도는 및 는 x 및 y 방향의 평행 이동 파라미터입니다. 따라서 역평행 이동 및 역회전은 다음과 같습니다.

수식 20.


따라서 소스 이미지의 좌표는 다음과 같이 계산됩니다.

수식 21.


VA 디자인의 경우, 타겟-투-소스 매핑으로 인해 좌표 계산에 역변환이 필요합니다. 좌표의 Scaling은 상수와의 곱셈을 통해 구현할 수 있습니다. x 및 y 방향의 경우.

Distortion Correction

광학적 왜곡은 물체의 배율이 광축과의 거리에 따라 변할 때 발생합니다. 이 경우 이미지는 배럴(통형) 또는 핀쿠션(모래시계형) 모양을 가집니다. VA 디자인의 경우, [Par09]에 따른 다항식 접근법(ansatz)을 사용합니다. 왜곡된 좌표 는 왜곡되지 않은 좌표로부터 다음과 같이 계산됩니다.

수식 22.


좌표는 왜곡의 광학 중심을 기준으로 합니다. 파라미터 은 왜곡 계수입니다. OpenCV와 같은 일부 오픈소스 프로그램은 캘리브레이션 이미지를 사용하여 이러한 파라미터를 계산하는 기능을 제공합니다 [Ope16a]. 모든 에 대해 보정 파라미터가 포함된 룩업 테이블을 은 Matlab 프로그램을 사용하여 계산할 수 있습니다. 해당 프로그램은 \examples\Processing\Geometry\GeometricTransformation\LUTDistortionCorrection.m에서 확인할 수 있습니다. 이 테이블을 사용하면 왜곡되지 않은 좌표와의 단순 곱셈을 통해 모든 왜곡된 좌표를 계산할 수 있습니다.

키스톤 보정

이러한 사다리꼴 왜곡은 카메라가 촬영할 물체에 대해 수직으로 배치되지 않았을 때 발생합니다. 요소가 포함된 3x3 변환 행렬 M을 사용하면 이러한 효과를 [Ope16b]:

]와 같이 보정할 수 있습니다. 수식 23.


여기서는 대상-원천 매핑에 따른 역보정을 수행한다는 점에 유의하시기 바랍니다. 변수들 및 각각 키스톤 왜곡이 적용된 좌표와 키스톤 보정이 적용된 좌표입니다. 다음과 같이 OpenCV 함수를 사용하여 계산할 수 있습니다 [Ope16b]을(를) 참조하십시오.

Image Moments

이미지 모멘트에 대한 자세한 이론적 설명은 섹션을 참조하십시오.