【发布时间】:2023-03-25 11:14:01
【问题描述】:
我们需要获取 GeoTIFF 图像的像素值来计算平均值。
在 Python 中,我们使用 GetPixel() 来了解每个像素值,但我们应该在 GDAL python 中使用哪个函数。
帮帮我!
【问题讨论】:
-
拜托,下次更彻底地搜索网络gis.stackexchange.com/questions/225370/…
我们需要获取 GeoTIFF 图像的像素值来计算平均值。
在 Python 中,我们使用 GetPixel() 来了解每个像素值,但我们应该在 GDAL python 中使用哪个函数。
帮帮我!
【问题讨论】:
在最简单的情况下,您可以简单地使用 ReadAsArray() 和 numpy 的平均函数:
import numpy
from osgeo import gdal
ds = gdal.Open(tiffilepath)
data = ds.ReadAsArray().astype(numpy.float32) # Type depends on the type you want for the average.
avg = numpy.average(data)
print(avg)
此统计数据也可能存在于元数据中,但可能不准确,您可能希望以不同方式计算它(包括/不包括无数据值、背景值等)。
【讨论】:
如果您想获得有限数量的像素,请使用 gdallocationinfo
【讨论】: