GDAL遙感影像讀取

讀取並顯示遙感影像

import numpy as np
from osgeo import gdal
from osgeo.gdalconst import GA_ReadOnly
import matplotlib.pyplot as plt

def disp(infile,bandnumber):
    gdal.AllRegister()
    inDataset = gdal.Open(infile,GA_ReadOnly)
    # print(inDataset)
    cols = inDataset.RasterXSize
    rows = inDataset.RasterYSize
    bands = inDataset.RasterCount
    
    image = np.zeros((bands,rows,cols))
    for b in range(bands):
        band = inDataset.GetRasterBand(b+1)
        image[b,:,:] = band.ReadAsArray(0,0,cols,rows)
    inDataset = None
    
    # 顯示NIR波段
    band = image[bandnumber-1,:,:]
    # print(type(band))
    mn = np.amin(band) #
    mx = np.amax(band)
    plt.figure(figsize=(20,18))
    plt.imshow((band-mn)/(mx-mn),cmap="gray")
    plt.show()

if __name__ == "__main__":
    infile = "../data/AST_20070501"
    bandnumber = 3
    disp(infile,bandnumber)

結果:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jUTd53Zh-1593660642675)(images/顯示結果.png)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章