|
XDMBandShadowEnhance Class
|
영상의 특정 영역에 대한 그림자 개선을 수행한다.
Inheritance Hierarchy
Namespace: Pixoneer.NXDL.NRSEXAssembly: NXDLrsEx (in NXDLrsEx.dll) Version: 2.0.3.38
Syntaxpublic class XDMBandShadowEnhance : XDMBand
The XDMBandShadowEnhance type exposes the following members.
Constructors
Methods
Example
This is example C# : XDMBandFeatureExt 를 이용하여 비슷하거나 동일한 화소값을 추출하고 추출한 화소 영역에 대한 그림자 개선을 수행하는 예제
XRasterIO rasterIO = new XRasterIO();
String strError = "";
if (rasterIO.Initialize(out strError) == false)
{
return;
}
string strFilePath = @"E:\SampleImage\IKONOS_geo.xdm";
XRSLoadFile xrsFileSrc = rasterIO.LoadFile(strFilePath, out strError, false, eIOCreateXLDMode.All_NoMsg);
XBandParamFeatureExt paramFeatureExt = new XBandParamFeatureExt();
for (int i = 0; i < xrsFileSrc.NumBand; i++)
paramFeatureExt.ArrBandList.Add(xrsFileSrc.GetBandAt(i));
paramFeatureExt.Search8 = false;
paramFeatureExt.Std_delta_expand = 0.5;
paramFeatureExt.Std_delta_shrink = 0.5;
paramFeatureExt.ErodeDilateDirection = (int)(XErodeDilate.Left | XErodeDilate.Right | XErodeDilate.Up | XErodeDilate.Down);
paramFeatureExt.Limit = true;
paramFeatureExt.MaxPixelCnt = 1000;
XDMBandFeatureExt bandFeatureExt = new XDMBandFeatureExt();
bandFeatureExt.CreateFeature("Feature1", System.Drawing.Color.FromArgb(255, 255, 255, 0));
if (!bandFeatureExt.SetInputParam(ref paramFeatureExt))
{
MessageBox.Show("fail to set parameters.");
return;
}
if (!bandFeatureExt.ExtractFeatureFromSeedPixel(0, 600, 600, null))
{
MessageBox.Show("fail to extract feature from seedpixel.");
return;
}
ArrayList arrPolygon = new ArrayList();
bandFeatureExt.GetPolygon(out arrPolygon);
XBandParamShadowEnhance paramShadowEnhance = new XBandParamShadowEnhance();
paramShadowEnhance.SrcBand = xrsFileSrc.GetBandAt(0);
XDMBandShadowEnhance bandShadowEnhance = new XDMBandShadowEnhance();
if (!bandShadowEnhance.SetInputParam(ref paramShadowEnhance))
{
MessageBox.Show("fail to set parameters.");
return;
}
XRSSaveFile fileSave = new XRSSaveFile();
for (int i = 0; i < xrsFileSrc.NumBand; i++)
{
XBandParamShadowEnhance param = new XBandParamShadowEnhance(ref paramShadowEnhance);
param.SrcBand = xrsFileSrc.GetBandAt(i);
XDMBandShadowEnhance bandTemp = new XDMBandShadowEnhance();
bandTemp.BandName = xrsFileSrc.GetBandAt(i).BandName;
bandTemp.SetInputParam(ref param);
bandTemp.AddRegion(arrPolygon);
XDMBand bandCast = (XDMBand)bandTemp;
fileSave.AddBand(ref bandCast);
}
String strFilePathSave = @"E:\SampleImage\Result_ShadowEnhance01.xdm";
if (rasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, null))
{
MessageBox.Show("성공");
return;
}
This is example C# : XvcPolygon 으로 생성한 특정 영역에 대한 그림자 개선을 수행하는 예제
XRasterIO rasterIO = new XRasterIO();
String strError = "";
if (rasterIO.Initialize(out strError) == false)
{
return;
}
string strFilePath = @"E:\SampleImage\IKONOS_geo.xdm";
XRSLoadFile xrsFileSrc = rasterIO.LoadFile(strFilePath, out strError, false, eIOCreateXLDMode.All_NoMsg);
XvcPolygon polygon = new XvcPolygon();
polygon.Add(127.3652, 36.3833, 0.0);
polygon.Add(127.3663, 36.3833, 0.0);
polygon.Add(127.3663, 36.3831, 0.0);
polygon.Add(127.3652, 36.3832, 0.0);
XBandParamShadowEnhance paramShadowEnhance = new XBandParamShadowEnhance();
paramShadowEnhance.SrcBand = xrsFileSrc.GetBandAt(0);
XDMBandShadowEnhance bandShadowEnhance = new XDMBandShadowEnhance();
if (!bandShadowEnhance.SetInputParam(ref paramShadowEnhance))
{
MessageBox.Show("fail to set parameters.");
return;
}
XRSSaveFile fileSave = new XRSSaveFile();
for (int i = 0; i < xrsFileSrc.NumBand; i++)
{
XBandParamShadowEnhance param = new XBandParamShadowEnhance(ref paramShadowEnhance);
param.SrcBand = xrsFileSrc.GetBandAt(i);
XDMBandShadowEnhance bandTemp = new XDMBandShadowEnhance();
bandTemp.BandName = xrsFileSrc.GetBandAt(i).BandName;
bandTemp.SetInputParam(ref param);
bandTemp.AddRegion(polygon);
XDMBand bandCast = (XDMBand)bandTemp;
fileSave.AddBand(ref bandCast);
}
String strFilePathSave = @"E:\SampleImage\Result_ShadowEnhance02.xdm";
if (rasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, null))
{
MessageBox.Show("성공");
return;
}
See Also