Depth Image Cubic Interpolation 3D
1 개요
멀티 페이지 이미지를 기반으로 삼차 보간 이미지를 생성하는 알고리즘입니다. 최소 4개의 페이지를 필요로 하며, 각 페이지 위치에 따른 보간 이미지를 생성합니다.
2 알고리즘 상세 설명
Source Image(Position : 0, 1, 2, 3) |
Result Image(Position : 1.2, 1.4, 1.6, 1.8) |
 |
 |
Fig. Position 값에 따른 삼차 보간 결과 예시
3 파라미터 설정
-
SetPagePosition(CFLArray<double> flaPagePosition)
- Source 이미지의 각 페이지 위치를 설정합니다. 페이지 수와 동일한 개수의 위치 값을 설정하여야 합니다.
-
SetInterval(double f64Interval)
- 생성 이미지 간격을 설정합니다.
- Default Value : 1
-
SetStartPosition(double f64StartPosition)
- 생성 이미지 시작 위치 값을 설정합니다.
- Default Value : 0
-
SetEndPosition(double f64EndPosition)
- 생성 이미지 끝 위치 값을 설정합니다.
- Default Value : 1
4 예제 코드
CFLImage fliSourceImage;
CFLImage fliDestinationImage;
CDepthImageCubicInterpolation3D depthImageCubicInterpolation3D;
depthImageCubicInterpolation3D.SetSourceImage(fliSourceImage);
depthImageCubicInterpolation3D.SetDestinationImage(fliDestinationImage);
CFLArray<double> flaPagePosition;
flaPagePosition.PushBack(0.0);
flaPagePosition.PushBack(1.0);
flaPagePosition.PushBack(2.0);
flaPagePosition.PushBack(3.0);
flaPagePosition.PushBack(4.0);
depthImageCubicInterpolation3D.SetPagePosition(flaPagePosition);
depthImageCubicInterpolation3D.SetInterval(0.1);
depthImageCubicInterpolation3D.SetStartPosition(1.0);
depthImageCubicInterpolation3D.SetEndPosition(3.0);
depthImageCubicInterpolation3D.Execute();
CDepthImageCubicInterpolation3D depthImageCubicInterpolation3D = new CDepthImageCubicInterpolation3D();
CFLImage fliSourceImage = new CFLImage();
depthImageCubicInterpolation3D.SetSourceImage(ref fliSourceImage);
CFLImage fliDestinationImage = new CFLImage();
depthImageCubicInterpolation3D.SetDestinationImage(ref fliDestinationImage);
List<double> listPagePosition = new List<double>();
listPagePosition.Add(0.0);
listPagePosition.Add(1.0);
listPagePosition.Add(2.0);
listPagePosition.Add(3.0);
listPagePosition.Add(4.0);
depthImageCubicInterpolation3D.SetPagePosition(listPagePosition);
depthImageCubicInterpolation3D.SetInterval(0.1);
depthImageCubicInterpolation3D.SetStartPosition(1.0);
depthImageCubicInterpolation3D.SetEndPosition(3.0);
depthImageCubicInterpolation3D.Execute();
depthImageCubicInterpolation3D = CDepthImageCubicInterpolation3D()
fliSourceImage = CFLImage()
depthImageCubicInterpolation3D.SetSourceImage(fliSourceImage)
fliDestinationImage = CFLImage()
depthImageCubicInterpolation3D.SetDestinationImage(fliDestinationImage)
listPagePosition = List[Double]()
listPagePosition.Add(0.0)
listPagePosition.Add(1.0)
listPagePosition.Add(2.0)
listPagePosition.Add(3.0)
listPagePosition.Add(4.0)
depthImageCubicInterpolation3D.SetPagePosition(listPagePosition)
depthImageCubicInterpolation3D.SetInterval(0.1)
depthImageCubicInterpolation3D.SetStartPosition(1.0)
depthImageCubicInterpolation3D.SetEndPosition(3.0)
depthImageCubicInterpolation3D.Execute()