3:(C#下使用GDAL庫)開啟影像檔案並讀取基本資訊
引用庫檔案並註冊完畢後,即可使用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];
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];
相關文章
- 使用PHP獲取影像檔案的EXIF資訊PHP
- 【C#】C#中使用GDAL3(二):Windows下讀寫Shape檔案及超詳細解決中文亂碼問題C#Windows
- 使用openpyxl庫讀取Excel檔案資料Excel
- C#讀取Xml檔案C#XML
- pandas的基礎使用,資料庫連線,檔案讀取,切片的使用等基本操作----01資料庫
- C#讀取Json配置檔案C#JSON
- 使用yaml檔案讀取資料YAML
- 讀取檔案流並寫入檔案流
- Asp.net Core 和類庫讀取配置檔案資訊ASP.NET
- C#讀取文字檔案和寫文字檔案C#
- python解壓並讀取檔案Python
- 如何使用Python讀取文字檔案並回答問題?Python
- 【C#】C#中使用GDAL3(三):Windows下編譯外掛驅動C#Windows編譯
- C#讀取指定json配置檔案C#JSON
- 如何找到並開啟帝國CMS的資料庫檔案?資料庫
- python得到地區資訊,並讀取檔案資料,然後視覺化實現資料下鑽Python視覺化
- nodejs 讀取excel檔案,並去重NodeJSExcel
- java讀取大檔案並處理Java
- golang讀取檔案的json資料流,並解析到struct,儲存到資料庫GolangJSONStruct資料庫
- 6.1檔案下載、讀取
- C# 讀取txt檔案生成Word文件C#
- 使用C#讀寫ini檔案C#
- 使用C#讀寫xml檔案C#XML
- Java讀取properties檔案連線資料庫Java資料庫
- gin框架,讀取檔案的json資料流,並解析到struct,儲存到資料庫框架JSONStruct資料庫
- 分享下 PHP 使用 getID3 來獲取音訊、視訊等媒體檔案相關資訊PHP音訊
- Nuxt3讀取markdown檔案UX
- phpSpreadsheet 讀取圖片並另存為檔案PHP
- php如何上傳txt檔案,並且讀取txt檔案PHP
- 分享下 PHP 使用 getID3 來獲取音訊、影片等媒體檔案相關資訊PHP音訊
- C# 讀取 ttf字型檔案裡的 UnicodeC#Unicode
- 使用C#選擇資料夾、開啟資料夾、選擇檔案C#
- pandas讀取csv檔案資料並使用matplotlib畫折線圖和餅圖
- 使用python的netCDF4庫讀取.nc檔案 和 建立.nc檔案Python
- shell讀取構建檔案資訊生成json字串JSON字串
- C#記憶體對映大檔案並使用Marshal解析結構體資訊C#記憶體結構體
- 讀取資料夾檔案
- Java讀取本地檔案內容並輸出Java
- EasyExcel庫來讀取指定Excel檔案中的資料Excel