遙感影象處理 | 採用GDAL讀取影象成功後獲取影象的一些基本資訊和統計資訊(C#)
描述資訊: const char* GDALDataset.GetDriver().GetDescription(),通常是影象的格式
影象大小: 影象寬度 int GDALDataset.GetRasterXSize()
影象高度 int GDALDataset.
波段數: int GDALDataset.GetRasterCount()
波段少則一個,多則很多個,在遙感影象中波段通常有多個。
投影資訊: GDALDataset.GetProjectionRef()
地理座標資訊:double adfGeoTransform[6]
GDALDataset.GetGeoTransform(adfGeoTransform)
地理座標資訊是一個含6個double型資料的陣列,
波段資訊: 資料集中重要的資訊,有波段尺寸、資料型別、顏色資訊等。
獲取波段的方法:
Band band= Dataset.GetRasterBand(i)
波段尺寸: int band.GetXSize()
int band.GetYSize()
資料型別: const char* GDALGetDataTypeName(poBand.GetRasterDataType())
顏色資訊: const char* GDALGetColorInterpretationName(poBand.GetColorInterpretation())
統計資訊
# region table獲取統計值
ds = dataset;
//影像統計值(最小值,最大值,均值,標準差)
string staticvalue = null;
int bApproxOK = 1; int bForce = 1;
double pdfMin; double pdfMax; double pdfMean; double pdfStdDev;
if (dataset != null)
{
for (int i = 1; i <= dataset.RasterCount; i++)
{
Band band = dataset.GetRasterBand(i);
band.GetStatistics(bApproxOK, bForce, out pdfMin, out pdfMax, out pdfMean, out pdfStdDev);//獲取統計資訊
staticvalue += "Band" + i.ToString() + "," + pdfMin.ToString() + "," + pdfMax.ToString() + "," + pdfMean.ToString() + "," + pdfStdDev.ToString() + ",";
}
}
if (staticvalue == null)
{
MessageBox.Show("無檔案資訊");
this.Close();
}