【发布时间】:2018-04-19 02:37:13
【问题描述】:
我正在尝试将 16 位 3 波段 RGB GeoTIFF 文件转换为 8 位 3 波段 JPEG 文件。看起来gdal 库应该可以很好地解决这个问题。 我的问题是如何在 python gdal API 中指定转换为 8 位输出,以及如何缩放该转换中的值?另外,如何判断输出是 8 位还是 16 位?
gdal.Translate() 函数应该可以达到目的。但是,我发现将值重新缩放为 8 位的唯一示例涉及 C 接口。下面的两篇文章提供了这方面的示例,但它们也不适合我的目的,因为它们没有使用 Python 接口。
我想出的python代码是:
from osgeo import gdal
gdal.Translate(destName='test.jpg', srcDS='test.tif')
这会起作用,但我不认为输出被转换为 8 位或值被重新调整。有谁知道如何应用这些特定设置?
请注意,下面的这篇文章非常相似,但使用了PIL 包。然而问题是PIL 显然无法摄取 16 位图像。当我尝试此代码时,我收到有关读取数据的错误。因此,我无法使用此解决方案。
【问题讨论】:
标签: python geospatial gdal