|
XDMBandIRFilter2 Class
|
IR 영상 필터링을 수행한다.
Inheritance Hierarchy
Namespace: Pixoneer.NXDL.NRSEXAssembly: NXDLrsEx (in NXDLrsEx.dll) Version: 2.0.3.38
Syntaxpublic class XDMBandIRFilter2 : XDMBand
The XDMBandIRFilter2 type exposes the following members.
Constructors
Methods
Example
This is example C# : IR 필터 방법 중 Meam 이용하는 예제
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
return;
}
String strFilePathLoad1 = "D:\\Sample\\RS_Sample\\Fusion\\ir.xdm";
XRSLoadFile xrsFileInput1 = RasterIO.LoadFile(strFilePathLoad1, out strError, false, eIOCreateXLDMode.All_NoMsg);
XDMBand srcBand = xrsFileInput1.GetBandAt(0);
XBandParamIRFilter2 param = new XBandParamIRFilter2Meam();
param.SrcBand = srcBand;
param.FilterType = eIRFilterType.Meam;
((XBandParamIRFilter2Meam)param).LsYMin = srcBand.BandMin + 30;
((XBandParamIRFilter2Meam)param).LsYMax = srcBand.BandMax - 30;
((XBandParamIRFilter2Meam)param).LsAlpha = 0.1;
((XBandParamIRFilter2Meam)param).LsBeta = 0.1;
((XBandParamIRFilter2Meam)param).GainThreshold = 5;
((XBandParamIRFilter2Meam)param).Gain1 = 10;
((XBandParamIRFilter2Meam)param).Gain2 = 0.5;
((XBandParamIRFilter2Meam)param).KernelSize = 3;
XDMBandIRFilter2 bandProcess = new XDMBandIRFilter2();
if (!bandProcess.SetInputParam(ref param))
{
return;
}
bandProcess.CreateHistogram(null);
if (bandProcess.DoIRFilter(null) == false)
{
return;
}
bandProcess.CalcStatistics(true);
XRSSaveFile fileSave = new XRSSaveFile();
XDMBand bandCast = (XDMBand)bandProcess;
fileSave.AddBand(ref bandCast);
String strFilePathSave = @"D:\Sample\result.xdm";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd))
{
return;
}
This is example C# : IR 필터 방법 중 Ape 이용하는 예제
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
return;
}
String strFilePathLoad1 = "D:\\Sample\\RS_Sample\\Fusion\\ir.xdm";
XRSLoadFile xrsFileInput1 = RasterIO.LoadFile(strFilePathLoad1, out strError, false, eIOCreateXLDMode.All_NoMsg);
XDMBand srcBand = xrsFileInput1.GetBandAt(0);
XBandParamIRFilter2 param = new XBandParamIRFilter2Ape();
param.SrcBand = srcBand;
param.FilterType = eIRFilterType.Ape;
((XBandParamIRFilter2Ape)param).OutMaxValue = 256;
((XBandParamIRFilter2Ape)param).InfPtFraction = 3;
XDMBandIRFilter2 bandProcess = new XDMBandIRFilter2();
if (!bandProcess.SetInputParam(ref param))
{
return;
}
bandProcess.CreateHistogram(null);
if (bandProcess.DoIRFilter(null) == false)
{
return;
}
double dblPlateauValue = bandProcess.Calcplateau();
bandProcess.SetPlateauValue(dblPlateauValue);
bandProcess.CalcStatistics(true);
XRSSaveFile fileSave = new XRSSaveFile();
XDMBand bandCast = (XDMBand)bandProcess;
fileSave.AddBand(ref bandCast);
String strFilePathSave = @"D:\Sample\result.xdm";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd))
{
return;
}
See Also