Homography
1 개요
여러개의 특징점 쌍을 이용하여 이미지를 투영 변환하는 알고리즘입니다.
2 알고리즘 상세 설명
원본 이미지에서 지정한 투영 영역을 대상 이미지에서 지정한 투영 영역으로 투영변환(Perspective transformation)합니다.
이 때, N 개의 특징점 쌍의 이동에서 가장 오차가 적은 변환을 적용합니다.
특징점 쌍의 적은 개수의 이상치만으로도 투영 변환에서 치명적으로 작용할 수 있습니다. Sampling Method 를 적용하여 이상치를 제거할 수 있습니다.
Source Image | Destination Image |
---|---|
![]() |
![]() |
Source Image | No Sampling Result | Sampling(PROSAC) Result |
---|---|---|
![]() |
![]() |
![]() |
3 파라미터 설정 및 사용 방법
[i] 동작을 위한 최소한의 기본 설정 파라미터는 아래와 같습니다.
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
SetSourceProjection | CFLFigure | flfSourceProjection | IN | 투영 영역 |
Source 이미지에서 투영 영역을 설정합니다. Quad, Rect, PointArray, Region 으로 설정 가능합니다.
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
SetDestinationProjection | CFLFigure | flfDestinationProjection | IN | 투영 영역 |
대상 이미지에서 투영 영역을 설정합니다. Quad, Rect, PointArray, Region 으로 설정 가능합니다.
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
SetInterpolationMethod | EInterpolationMethod | eMethod | IN | 보간법 |
보간법을 설정합니다.
eMethod
- Default Value: EInterpolationMethod_Bilinear, Recommended Value: EInterpolationMethod_Bilinear, EInterpolationMethod_Bicubic
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
SetSamplingMethod | ESamplingMethod | eSamplingMethod | IN | 샘플링 방식 |
샘플링 방식을 설정합니다.
None:"" 샘플링을 하지 않고 모든 특징점 쌍으로 연산합니다.
Random: RANSAC 방식으로 샘플링합니다. 결과에 무작위성이 있습니다.
PROSAC: PROSAC 방식으로 샘플링합니다.
eSamplingMethod
- Default Value: ESamplingMethod_None, Recommended Value: ESamplingMethod_PROSAC
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
GetResultInlier | CFLPointArray | flpaSrc, flpaDst | Out | 인라이어 |
샘플링 방식을 적용한 인라이어 정보를 가져옵니다.