遥感图像处理 | 采用GDAL读取图像成功后获取图像的一些基本信息和统计信息(C#)

描述信息:  const char*  GDALDataset.GetDriver().GetDescription(),通常是图像的格式

图像大小:  图像宽度  int  GDALDataset.GetRasterXSize()

                    图像高度  int  GDALDataset.GetRasterYSize()

波段数:      int   GDALDataset.GetRasterCount()    

                    波段少则一个,多则很多个,在遥感影象中波段通常有多个。

投影信息:  GDALDataset.GetProjectionRef()   

                    有的图像没有投影信息,如一般的JPGBMP格式图像。

地理坐标信息double adfGeoTransform[6]  

                         GDALDataset.GetGeoTransform(adfGeoTransform)

地理坐标信息是一个含6double型数据的数组,adfGeoTransform[1]adfGeoTransform[5]表示东西和南北方向 一个像素对应的距离,adfGeoTransform[0]adfGeoTransform[3]表示左上角的坐标。

波段信息:     数据集中重要的信息,有波段尺寸、数据类型、颜色信息等。

                       获取波段的方法:

                       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();
            }

 

转载自:https://blog.csdn.net/weixin_41340063/article/details/82733527

You may also like...