赞
踩
最近在做一些和图像处理相关的工作,涉及利用rasterio来实现遥感影像的镶嵌、重采样、重投影等,故开一个系列记录下来。
rasterio是栅格图像处理的python包,依赖GDAL,如果你想了解如何二安装GDAL,可以转到我的另一篇博文。
在GDAL安装完成的基础上,到这个网站下载对应版本的rasterio包,然后运行以下命令安装whl文件,即可安装好rasterio。
pip install xxx.whl
rasterio的完整接口可以看官网,这里仅截图展示部分api,如下图所示。
可以看出,有clip(裁剪)、mask(掩膜)、merge(融合)、convert(转换)等功能。
import rasterio
tifPath = 'test.tif'
with rasterio.open(tifPath) as raster:
data = raster.read(1)
这里得到的data格式是np.array,表示栅格图像的第一层像素数。raster对象还有很多其他属性,例如bounds等。
dst_img = 'out.tif'# 输出路径
dataset = rasterio.open(
dst_img,
'w',
driver='GTiff',# 图像类型
height=landuse.shape[0],
width=landuse.shape[1],
count=1,# 总层数
dtype=np.uint8,# 数据类型
crs=raster.crs,# 坐标参考系
transform=raster.transform) # 转换关系
dataset.write(landuse,1)# 写入第一层
dataset.close()
这里的landuse类型也是np.array吗,注意数据格式和dtype要一致,否则会报错。
接下来会介绍图像镶嵌、重采样、图像对齐等操作。欢迎关注~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。