3:(C#下使用GDAL庫)開啟影像檔案並讀取基本資訊

rrrrssss00發表於2011-10-28
引用庫檔案並註冊完畢後,即可使用GDAL庫函式來開啟影像檔案


GDAL庫中開啟影像檔案非常簡單,使用Gdal.Open(string path,Acess eAcess)即可
第一個引數為影像路徑,第二個引數為許可權,分只讀和可寫兩種
該函式返回值為Dataset型別


可以從該Dataset中獲取到一些影像的基本資訊,例如影像寬度和高度,波段數,座標變換引數,座標資訊等
注:該函式獲取到的Dataset中只包含影像的資訊,並不包含影像所有畫素的資訊,要得到畫素資訊,需要用ReadRaster函式讀取到陣列中。



Dataset ds = Gdal.Open(rasterPath,Access.GA_ReadOnly)
int rasterX = ds.RasterXSize; //影像寬度
int rasterY = ds.RasterYSize; //影像高度
int bandCount = ds.RasterCount; //波段數
double tmpD = new double[6];
ds.GetGeoTransform(tmpD); //影像座標變換引數
string proj = ds.GetProjection(); //影像座標系資訊(WKT格式字串)
……


注:這裡的GeoTransform(影像座標變換引數)的定義是:通過畫素所在的行列值得到其左上角點空間座標的運算引數
例如:某影象上(P,L)點左上角的實際空間座標為:
Xp = GeoTransform[0] + P * GeoTransform[1] + L * GeoTransform[2];
Yp = GeoTransform[3] + P * GeoTransform[4] + L * GeoTransform[5];

相關文章