Click or drag to resize
XDL

XDMBandImageSharpen Class

저해상도 Color영상과 고해상도 Gray영상을 이용하여 고해상도 Color영상을 생성하는 기능을 수행한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NRSXDMBand
    Pixoneer.NXDL.NRSXDMBandImageSharpen

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

The XDMBandImageSharpen type exposes the following members.

Constructors
 NameDescription
Public methodXDMBandImageSharpen XDMBandImageSharpen클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다.
Public methodXDMBandImageSharpen(IntPtr) XDMBandImageSharpen객체를 생성하는 생성자이다. 원본 비관리 XDMBandImageSharpen 객체를 입력받아 멤버 변수를 초기화한다.
Top
Methods
 NameDescription
Public methodDoPCASharpenPreProcess 제1주성분의 최소/최대 화소값과 PCA 성분을 역변환한 데이터 각각의 최소/최대 화소값을 미리 계산한다.
Public methodGetBandB 생성된 고해상도 Color 영상 중 Blue 영상밴드를 얻는다.
Public methodGetBandG 생성된 고해상도 Color 영상 중 Green 영상밴드를 얻는다.
Public methodGetBandR 생성된 고해상도 Color 영상 중 Red 영상밴드를 얻는다.
Public methodGetInputParam 입력파라미터를 얻는다.
Public methodSetInputParam Image sharpening 영상처리를 위한 입력 파라미터를 설정한다.
Top
Example
C#
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 strFilePathLoad1 = "D:\\Sample\\RS_Sample\\ImageSharpen\\Mackinac30.xdm";
String strFilePathLoad2 = "D:\\Sample\\RS_Sample\\ImageSharpen\\Mackinac15.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
XBandParamImageSharpen InputParam = new XBandParamImageSharpen();
InputParam.SrcBandInputR = xrsFileInput1.GetBandAt(0);
InputParam.SrcBandInputG = xrsFileInput1.GetBandAt(1);
InputParam.SrcBandInputB = xrsFileInput1.GetBandAt(2);
InputParam.SrcBandInputN = xrsFileInput1.GetBandAt(0);

InputParam.SrcBandHigh = xrsFileInput2.GetBandAt(0);
InputParam.ImageSharpenType = eImageSharpenType.BROVEY;

InputParam.WeightHigh = 0.7;

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

// create XRSSaveFile to save realtime band(XDMBandXXXX)
XRSSaveFile fileSave = new XRSSaveFile();
XDMBand bandR = bandProcess.GetBandR();
XDMBand bandG = bandProcess.GetBandG();
XDMBand bandB = bandProcess.GetBandB();

fileSave.AddBand(ref bandB);
fileSave.AddBand(ref bandG);
fileSave.AddBand(ref bandR);

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