GDAL изменить размер и сохранить в PNG с помощью Python

Я знаю, как использовать gdal_translate из строки cmd для изменения размера и сохранения 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

Могу ли я спросить, как изменить размер и сохранить PNG с помощью Python?

1 ответ

Решение

Ты можешь использовать 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, вы также можете использовать subprocess или же os.system вызывать версии командной строки.

Другие вопросы по тегам