对于多波段的高光谱img文件,首先先用Gdal读取图像的基本信息,接着对其波段值进行处理。
具体代码如下:
try
{
/* 设置支持中文路径,并注册所有驱动*/
OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");
OSGeo.GDAL.Gdal.AllRegister();
/* 用Gdal读取图像并获得图像的基本信息*/
Dataset srcDataset = OSGeo.GDAL.Gdal.Open(PATH, Access.GA_Update);
int nBands = srcDataset.RasterCount; /* 波段值*/
int nXSize = srcDataset.RasterXSize; /* 行向量*/
int nYSize = srcDataset.RasterYSize; /* 列向量*/
long xPixel = nYSize * nXSize; /* 每个波段的图像大小*/
/* 设置波段值的数组*/
int[] bandArray = new int[nBands];
for (int i = 0; i < nBands; i++)
{
bandArray[i] = i +