Depth Image Nearest Neighbor Interpolation 3D
1 개요
멀티 페이지 이미지를 기반으로 최근접 보간 이미지를 생성하는 알고리즘입니다. 최소 2개의 페이지를 필요로 하며, 각 페이지 위치에 따른 보간 이미지를 생성합니다.
2 알고리즘 상세 설명
| Source Image(Position : 0) |
Source Image(Position : 10) |
Result Image(Position : 5) |
Result Image(Position : 6) |
 |
 |
 |
 |
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;
CDepthImageNearestNeighborInterpolation3D depthImageNearestNeighborInterpolation3D;
depthImageNearestNeighborInterpolation3D.SetSourceImage(fliSourceImage);
depthImageNearestNeighborInterpolation3D.SetDestinationImage(fliDestinationImage);
CFLArray<double> flaPagePosition;
flaPagePosition.PushBack(0.0);
flaPagePosition.PushBack(1.0);
flaPagePosition.PushBack(2.0);
depthImageNearestNeighborInterpolation3D.SetPagePosition(flaPagePosition);
depthImageNearestNeighborInterpolation3D.SetInterval(0.1);
depthImageNearestNeighborInterpolation3D.SetStartPosition(0.0);
depthImageNearestNeighborInterpolation3D.SetEndPosition(2.0);
depthImageNearestNeighborInterpolation3D.Execute();
CDepthImageNearestNeighborInterpolation3D depthImageNearestNeighborInterpolation3D = new CDepthImageNearestNeighborInterpolation3D();
CFLImage fliSourceImage = new CFLImage();
depthImageNearestNeighborInterpolation3D.SetSourceImage(ref fliSourceImage);
CFLImage fliDestinationImage = new CFLImage();
depthImageNearestNeighborInterpolation3D.SetDestinationImage(ref fliDestinationImage);
List<double> listPagePosition = new List<double>();
listPagePosition.Add(0.0);
listPagePosition.Add(1.0);
listPagePosition.Add(2.0);
depthImageNearestNeighborInterpolation3D.SetPagePosition(listPagePosition);
depthImageNearestNeighborInterpolation3D.SetInterval(0.1);
depthImageNearestNeighborInterpolation3D.SetStartPosition(0.0);
depthImageNearestNeighborInterpolation3D.SetEndPosition(2.0);
depthImageNearestNeighborInterpolation3D.Execute();
depthImageNearestNeighborInterpolation3D = CDepthImageNearestNeighborInterpolation3D()
fliSourceImage = CFLImage()
depthImageNearestNeighborInterpolation3D.SetSourceImage(fliSourceImage)
fliDestinationImage = CFLImage()
depthImageNearestNeighborInterpolation3D.SetDestinationImage(fliDestinationImage)
listPagePosition = List[Double]()
listPagePosition.Add(0.0)
listPagePosition.Add(1.0)
listPagePosition.Add(2.0)
depthImageNearestNeighborInterpolation3D.SetPagePosition(listPagePosition)
depthImageNearestNeighborInterpolation3D.SetInterval(0.1)
depthImageNearestNeighborInterpolation3D.SetStartPosition(0.0)
depthImageNearestNeighborInterpolation3D.SetEndPosition(2.0)
depthImageNearestNeighborInterpolation3D.Execute()