关于Python 遥感影像数据为None而不能读取的一些经验,新手初次学习经验!!!

多光谱遥感读取的代码

读取前先安装GDAL包,然后通过下面代码运行。

from osgeo import gdal
import numpy as np
np.set_printoptions(threshold=np.inf)#使print大量数据不用符号...代替而显示所有

dataset = gdal.Open("H:\LiaoNingLandsatOILL2\2015Mar_Aug-Nocloud119031\LC081190312015031901T1-SC20210518022016\layer\LC08_L1TP_119031_20150319_GDALtest.tif")

print(dataset.GetDescription())#数据描述

print(dataset.RasterCount)#波段数

cols=dataset.RasterXSize#图像长度
rows=(dataset.RasterYSize)#图像宽度

xoffset=cols/2
yoffset=rows/2

band = dataset.GetRasterBand(4)#取第三波段
r=band.ReadAsArray(xoffset,yoffset,1000,1000)#从数据的中心位置位置开始,取1000行1000列数据

band = dataset.GetRasterBand(3)
g=band.ReadAsArray(xoffset,yoffset,1000,1000)

band = dataset.GetRasterBand(2)
b=band.ReadAsArray(xoffset,yoffset,1000,1000)

import cv2
import matplotlib.pyplot as plt

img2=cv2.merge([r,g,b])
plt.imshow(img2)
plt.xticks([]),plt.yticks([]) # 不显示坐标轴
plt.show()

在读过程中,发现

问题出现在第七行,数据无法描述

同时发现dataset=<None Type>None,说明该数据并没有被读进来,也就是说在dataset = gdal.Open()的时候已经出现错误了,一开始我以为是文格读取路径出了问题,通过改变路径也没能改变数据None的问题。

最后,发现是路径和文件名过长导致数据无法读取,将文件改为更简洁的名称dataset = gdal.Open(“F:\GDALtest.tif”),放在更少字段的文件夹中,最后文件读取成功。

但是显示:用RGB数据将输入数据裁剪到imshow的有效范围([0..1]表示浮点或[0..255]对于整数),就是格式出现了问题,暂时还未解决,后续在学习解决该问题。

最后结果为

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值