Python中如何使用rasterio将窗口显示内容保存为JPG格式
Rasterio可视化GeoTiff后导出绘图内容的方法
rasterio.plot.show()本身是对Matplotlib绘图接口的封装,你看到的弹窗内容本质就是Matplotlib生成的画布,直接调用Matplotlib自带的savefig方法就能导出,不需要额外截图。
关键避坑点
savefig必须写在pyplot.show()之前执行,一旦调用show(),Matplotlib会清空当前画布资源,之后保存只会得到空白图片。- 导出参数可以按需调整,不需要修改你原本的可视化逻辑。
修改后可直接运行的代码
import rasterio from matplotlib import pyplot from rasterio.plot import show # 读取目标GeoTiff src2 = rasterio.open(r'D:\Phenology\00RemoteSensing\Tif_Diem\float64\NDVIMOD09Q1TLcrop2001.01.01_001.tif') # 设置画布尺寸 pyplot.figure(figsize=(10,10)) # 渲染栅格 show(src2) # 导出图片到本地 pyplot.savefig( r'D:\Phenology\ndvi_plot.png', # 替换成你要保存的文件路径 dpi=300, # 导出分辨率,按需调整 bbox_inches='tight' # 自动裁掉周边多余白边 ) # 弹出可视化窗口 pyplot.show() # 输出栅格宽高 print(src2.height, src2.width) # 关闭文件连接 src2.close()
自定义调整说明
- 支持导出为png、jpg、tif、pdf等常见格式,只要修改保存路径的文件后缀即可
- 如果要加标题、色带、坐标轴标注,或者修改配色(比如给
show()传cmap="Spectral"参数),所有调整逻辑都写在savefig()之前即可,设置的内容会完整导出 - 如果不需要弹窗显示,直接删掉
pyplot.show()这行就行,不影响图片导出
内容的提问来源于stack exchange,提问作者weraphong suaruang
相关产品推荐
相关产品推荐

