У меня есть код 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?
Есть идеи?