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)
Source Image(Position : 0, 1, 2, 3) Result Image(Position : 1.2, 1.4, 1.6, 1.8)
Fig. Position 값에 따른 삼차 보간 결과 예시

3 파라미터 설정

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()