gdal 使用 python 调整大小并保存为 png

gdal resize and save to png using python

我知道如何使用 cmd 行中的 gdal_translate 来调整和保存 png:

gdal_translate -of PNG -outsize 10% 10% image.bsq image.png

但是使用python我只知道如何保存png:

from osgeo import gdal

img_png  = 'image.png'
img_bsq  = 'image.bsq'
src_ds = gdal.Open(img_bsq)
out_format = "GTiff"
driver = gdal.GetDriverByName(out_format)
dst_ds = driver.CreateCopy(img_png, dst_ds, 0)
dst_ds = None
src_ds = None

请问如何使用python调整和保存png?

您可以在 python 中使用 gdal_translate。这样的东西应该可以工作。

from osgeo import gdal

options_list = [
    '-outsize 10% 10%',
    '-of PNG'
] 
options_string = " ".join(options_list)

gdal.Translate('image.png',
               'image.bsq',
               options=options_string)

如果你愿意,你当然也可以自己写选项字符串,但是我喜欢把它写成一个列表然后再转换它。

如果您对 python 绑定不满意,也可以使用 subprocessos.system 调用命令行版本。