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()
View Code
复制代码

 

注意添加:matplotlib.use('TkAgg')

 

posted @   有翅膀的大象  阅读(82)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示