GDAL: Может ли Python GDAL.Translate преобразовать файл TIFF в массив JPEG или PNG - вместо записи в файл? - PullRequest
0 голосов
/ 19 марта 2019

У меня есть код Python для преобразования файла изображения GeoTIFF в файл изображения JPEG. Тем не менее, я хотел бы сделать это в памяти, а это означает, что я хотел бы прочитать файл GeoTIFF, преобразовать его в JPEG, а затем сохранить преобразованные данные в структуре в памяти, например, в идеале в массиве numpy. Есть ли способ сделать это?

Вот пример кода, который я надеялся адаптировать:

from osgeo import gdal

scale = '-scale min_val max_val'
options_list = [
    '-ot Byte',
    '-of JPEG',
    scale
] 
options_string = " ".join(options_list)

gdal.Translate('test.jpg',
               'test.tif',
               options=options_string)

В этом коде используется GDAL Python API, но для него требуется тип вывода, ссылающийся на файл, такой как test.jpg в приведенном выше коде. Но я не хочу указывать выходной файл - вместо этого я хочу вывести результат в какой-то массив.

Обратите внимание, что я попробовал это преобразование, не используя GDAL, но все диапазоны интенсивности пикселей сжимались до очень малого диапазона вместо диапазона, генерируемого из GDAL.Translate().

ИССЛЕДОВАННЫЕ ОТВЕТЫ, КОТОРЫЕ НЕ ПРИМЕНЯЮТСЯ

Обратите внимание, что я исследовал некоторые другие сообщения Stack Exchange по этой теме, но все они преобразуют файл GeoTIFF в другой файл. Я не хочу писать новый файл. Я включил ссылку здесь для удобства, но ключевой момент заключается в том, что существующие опубликованные вопросы не соответствуют этому.

как конвертировать geotiff в jpg в python или java?

Есть идеи?

...