Python使用GDAL
gdal包用于处理栅格数据,ogr用于处理矢量数据 。
调用GDAL库:
from osgeo import gdal import numpy as np import cv2 import matplotlib.pyplot as plt import matplotlib np.set_printoptions(threshold=np.inf) # 使print大量数据不用符号...代替而显示所有 dataset = gdal.Open("D:/modis/jf6.tif") print(dataset.GetDescription()) # 数据描述 print(dataset.RasterCount) # 波段数 cols = dataset.RasterXSize # 图像长度 rows = (dataset.RasterYSize) # 图像宽度 xoffset = cols / 2 yoffset = rows / 2 band = dataset.GetRasterBand(3) # 取第三波段 r = band.ReadAsArray(xoffset, yoffset, 1000, 1000) # 从数据的中心位置位置开始,取1000行1000列数据 band = dataset.GetRasterBand(4) g = band.ReadAsArray(xoffset, yoffset, 1000, 1000) band = dataset.GetRasterBand(5) b = band.ReadAsArray(xoffset, yoffset, 1000, 1000) #band = dataset.GetRasterBand(7) #d = band.ReadAsArray(xoffset, yoffset, 1000, 1000) matplotlib.use('TkAgg') img2 = cv2.merge([r, g, b]) img = np.clip(img2, 0, 255).astype(np.uint8) # 转换为uint8类型 plt.imshow(img) plt.xticks([]), plt.yticks([]) # 不显示坐标轴 plt.show()
注意添加:matplotlib.use('TkAgg')
,Best Wish 不负年华