Click or drag to resize
XDL

XDMBandNoiseInterpol Class

XDMBandNoiseInterpol클래스는 영상에 의미 없는 화소값이 존재하는 경우 주변 값을 이용하여 새로운 값을 부여하는 기능을 수행한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NRSXDMBand
    Pixoneer.NXDL.NRSXDMBandNoiseInterpol

Namespace:  Pixoneer.NXDL.NRS
Assembly:  NXDLrs (in NXDLrs.dll) Version: 1.2.817.72
Syntax
C#
public class XDMBandNoiseInterpol : XDMBand

The XDMBandNoiseInterpol type exposes the following members.

Constructors
  NameDescription
Public methodXDMBandNoiseInterpol
XDMBandNoiseInterpol 클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다.
Top
Methods
  NameDescription
Public methodBuildAuxDataStructure
ReadVerts 함수를 통해 생성된 (x,y,z) 구조체를 이용해서 Interpolation 방법에 따른 잡음제거 구조체를 생성한다.
Public methodGetInputParam
Noise Interpolation 영상처리를 위해 입력된 파라미터를 얻는다.
Public methodReadVerts
입력 데이터에서 읽어 잡음으로 설정한 값인 경우 잡음 제거를 위해 (x,y,z(DN)) 형태의 구조체를 생성한다.
Public methodSetInputParam
Noise Interpolation 영상처리를 위한 입력 파라미터를 설정한다.
Top
Remarks

예를 들어, 현재의 기술 수준에서 위성 영상 자료를 이용하여 생성되는 DEM 자료는 다양한 원인의 오차에 의하여 잡음이 있을 수 있어 즉시 활용하기에는 부족한 것으로 평가되고 있다. 특히 스테레오 영상을 이용하여 생성된 DEM 자료와 같은 경우, 영상 정합시의 오류나 정합 자체의 실패로 인하여 그 고도값이 계산되지 못하는 지점이 발생하게 된다.

Examples
잡음이 있는 영상을 읽어
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;
}
See Also