Click or drag to resize
XDL

XDMBandChangeDetect Class

XDMBandChangeDetect 클래스는 2장의 영상 간 화소 변화 탐지를 수행하여 변화 영역을 탐지하는 기능을 정의한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NRSXDMBand
    Pixoneer.NXDL.NRSXDMBandChangeDetect

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

The XDMBandChangeDetect type exposes the following members.

Constructors
  NameDescription
Public methodXDMBandChangeDetect
XDMBandChangeDetect 클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다.
Top
Methods
  NameDescription
Public methodGetInputParam
설정된 입력 변화탐지 변수를 얻는다.
Public methodSetColor
사용자가 직접 변화탐지 결과에 대한 칼라값을 설정한다. 입력 인덱스에 입력 Color값을 설정한다.
Public methodSetColorTable
변화탐지 결과를 도시하여 강도별로 분석하기 위해 색상표를 설정한다.
Public methodSetInputParam
2장의 영상에 대해 변화탐지를 수행하기 위한 파라미터를 설정한다.
Top
Remarks

This class is very useful for various change detection applications including military, urban, planning, forest, and natural disaster applications.

The change detection is performed using the concept of statistical probability. Users can detect changes easily with NXMapView.

Examples
두 영상을 이용하여 Angle 변화탐지 기법을 적용하여 탐지결과를 파일로 저장한다.
// IO initialize to load image file
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
    return;
}

// Image load
String strFilePathLoad1 = "D:\\Sample\\RS_Sample\\ChangeDetect\\change_1.xdm";
String strFilePathLoad2 = "D:\\Sample\\RS_Sample\\ChangeDetect\\change_2.xdm";
XRSLoadFile xrsFileInput1 = RasterIO.LoadFile(strFilePathLoad1, out strError, false, eIOCreateXLDMode.All_NoMsg);
XRSLoadFile xrsFileInput2 = RasterIO.LoadFile(strFilePathLoad2, out strError, false, eIOCreateXLDMode.All_NoMsg);

// Set input param
XBandParamChangeDetect InputParam = new XBandParamChangeDetect();
InputParam.SrcBand1 = xrsFileInput1.GetBandAt(0);
InputParam.SrcBand2 = xrsFileInput2.GetBandAt(0);

InputParam.ChangeDetectType = eChangeDetectType.Angle;
InputParam.BinaryFlag = false;

// Unchanged angle (43~47)
InputParam.AngleUnchangeMin = 38;
InputParam.AngleUnchangeMax = 52;

InputParam.ColorIndex = eColorTable.Rainbow;
InputParam.DarknessLevel = 0.4;

// Create New process band and set input param
XDMBandChangeDetect bandProcess = new XDMBandChangeDetect();
if (!bandProcess.SetInputParam(ref InputParam))
{
    return;
}

// create XRSSaveFile to save realtime band(XDMBandXXXX)
XRSSaveFile fileSave = new XRSSaveFile();
XDMBand bandCast = (XDMBand)bandProcess;

fileSave.AddBand(ref bandCast);

// Save output file
XThread thd = null;
String strFilePathSave = "D:\\Sample\\ChangeDetect.xdm";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd))
{
    return;
}
See Also