python - 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
文件转换为另一个文件。我不想写一个新文件。为方便起见,我在此处包含链接,但关键是现有发布的问题与此问题不匹配。
如何在python或java中将geotiff转换为jpg?
有任何想法吗?
解决方案
推荐阅读
- android - Android画布线条strokeCap圆形大于简单线条
- mongodb - MongoDB 返回多个文档的所有字段
- javascript - 如何在 React 的 onSubmit 方法中解决额外的发布请求
- spring-boot - 有什么方法可以更改 Content-type Header 的名称吗?
- python - 如何为多类分类提取随机森林树规则?
- ios - 从 Core Data Swift 中删除值时出现错误 Domain=NSCocoaErrorDomain Code=1570
- asp.net-core - 生产 Azure 网站中的身份回调路径?
- ruby-on-rails - 如何解决捆绑程序 LoadError
- git - 图像的 Intellij 差异
- java - JAVA:为什么释放堆内存没有反映在任务管理器中