Thin Plate Spline Warping
1 개요
Thin Plate Spline Warping 은 설정 된 제어 점들을 이용하여 Thin Plate spline interpolation 방식을 통해 이미지를 변환하는 알고리즘 입니다.
2 알고리즘 상세 설명
Thin Plate Spline Warping 알고리즘은 주어진 제어 점들의 Mapping 함수를 통해 유연한 곡선의 비선형 변환을 생성합니다.
Minimize :
- : Corresponding control points (knots)
- : Mapping function of
Source | Source points | Dest points | Result |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Fig. 알고리즘 수행 결과
3 예제 코드
CThinPlateSplineWarping TPSWarping;
CFLImage fliSourceImage;
CFLImage fliDestinationImage;
TPSWarping.SetSourceImage(fliSourceImage);
TPSWarping.SetDestinationImage(fliDestinationImage);
// Calibrate
CFLPointArray flpaSource;
flpaSource.PushBack(CFLPoint<double>(0,0));
// . . .
flpaSource.PushBack(CFLPoint<double>(100.0, 100.0));
CFLPointArray flpaDestination;
flpaDestination.PushBack(CFLPoint<double>(10.0,10.0));
// . . .
flpaDestination.PushBack(CFLPoint<double>(90.0, 90.0));
TPSWarping.SetCalibrationPointArray(flpaSource, flpaDestination);
TPSWarping.Calibrate();
// Execute
TPSWarping.SetInterpolationMethod(EInterpolationMethod_Bicubic);
TPSWarping.Execute();
4 파라미터 설정 및 사용 방법
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
SetInterpolationMethod | EInterpolationMethod | eMethod | IN | 연산 수행 시 보간 방법을 설정합니다. |
연산 시 보간 방법을 설정합니다. eMethod
- Default Value : EInterpolationMethod_Bilinear
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
SetCalibrationPointArray | CFLPointArray | flpaSource | IN | 소스 캘리브레이션 포인트 배열 |
CFLPointArray | flpaDestination | IN | 타겟 캘리브레이션 포인트 배열 |
Source및 Destination의 캘리브레이션 포인트를 설정 합니다.
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
Calibrate | - | - | - | - |
설정된 Source Points Array와 Destination Points Array로 Calibrate를 수행합니다.
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
Load | CFLPointArray | flpaDestination | IN | Calibration 파일 경로 및 이름 |
저장된 캘리브레이션 파일을 로드합니다.
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
Save | CFLPointArray | flpaDestination | IN | Calibration 파일 경로 및 이름 |
캘리브레이션 파일을 저장합니다.