![]() | XDMBandNoiseInterpol Class |
Namespace: Pixoneer.NXDL.NRS
public class XDMBandNoiseInterpol : XDMBand
The XDMBandNoiseInterpol type exposes the following members.
Name | Description | |
---|---|---|
![]() | XDMBandNoiseInterpol | XDMBandNoiseInterpol 클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다. |
Name | Description | |
---|---|---|
![]() | BuildAuxDataStructure |
ReadVerts 함수를 통해 생성된 (x,y,z) 구조체를 이용해서 Interpolation 방법에 따른 잡음제거 구조체를 생성한다.
|
![]() | GetInputParam |
Noise Interpolation 영상처리를 위해 입력된 파라미터를 얻는다.
|
![]() | ReadVerts |
입력 데이터에서 읽어 잡음으로 설정한 값인 경우 잡음 제거를 위해 (x,y,z(DN)) 형태의 구조체를 생성한다.
|
![]() | SetInputParam |
Noise Interpolation 영상처리를 위한 입력 파라미터를 설정한다.
|
예를 들어, 현재의 기술 수준에서 위성 영상 자료를 이용하여 생성되는 DEM 자료는 다양한 원인의 오차에 의하여 잡음이 있을 수 있어 즉시 활용하기에는 부족한 것으로 평가되고 있다. 특히 스테레오 영상을 이용하여 생성된 DEM 자료와 같은 경우, 영상 정합시의 오류나 정합 자체의 실패로 인하여 그 고도값이 계산되지 못하는 지점이 발생하게 된다.
using Pixoneer.NXDL; using Pixoneer.NXDL.NRS; using Pixoneer.NXDL.NIO; // IO initialize to load image file XRasterIO RasterIO = new XRasterIO(); String strError = ""; if (RasterIO.Initialize(out strError) == false) { return; } // Image load String strFilePath = "D:\\Sample\\Point2Grid.xdm"; XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePath, out strError, false, eIOCreateXLDMode.All_NoMsg); // Set input param // 화소값 0을 잡음으로 하여 Inverse distance 방법을 적용하여 영상을 보간한다. XBandParamNoiseInterpol InputParam = new XBandParamNoiseInterpol(); InputParam.SrcBand = xrsFileInput.GetBandAt(0); InputParam.InterpolMethod = eNoiseInterpolMethod.InvDist; InputParam.NoiseValue = 0; //// For nearest //InputParam.NumNearestNeighbor = 5; // For Inverse dist InputParam.Order = 2; InputParam.MaxDistance = 100; //// For Triangulate... Nothing // Create New process band and set input param XDMBandNoiseInterpol bandProcess = new XDMBandNoiseInterpol(); if (!bandProcess.SetInputParam(ref InputParam)) { return; } // Read Vertex and Build Auxiliary Data Structure XThread thd = null; if (!bandProcess.ReadVerts(thd)) return; if (!bandProcess.BuildAuxDataStructure(thd)) return; // create XRSSaveFile to save realtime band(XDMBandXXXX) XRSSaveFile fileSave = new XRSSaveFile(); XDMBand bandCast = (XDMBand)bandProcess; fileSave.AddBand(ref bandCast); // Save output file String strFilePathSave = "D:\\Sample\\Out_NoiseInterpol.xdm"; if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd)) { return; }