GDAL:Python GDAL.Translate可以将TIFF文件转换为JPEG或PNG数组 - 而不是写入文件吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDAL:Python GDAL.Translate可以将TIFF文件转换为JPEG或PNG数组 - 而不是写入文件吗?相关的知识,希望对你有一定的参考价值。

我有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文件转换为另一个文件。我不想写一个新文件。为方便起见,我在此处包含链接,但关键点是现有的已发布问题与此不匹配。

how to convert geotiff to jpg in python or java?

有任何想法吗?

以上是关于GDAL:Python GDAL.Translate可以将TIFF文件转换为JPEG或PNG数组 - 而不是写入文件吗?的主要内容,如果未能解决你的问题,请参考以下文章

Python GDAL

python gdal 数组生成图片

python中如何导入gdal包?

windows环境下python和gdal绑定方法

python 环境下 安装 gdal

使用带有 Python 的 GDAL 裁剪光栅文件