You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 08:18:17