我一直在使用 R 中的 glcm 包来计算栅格数据集的各种纹理度量;但是,我得到的相关度量值是奇数,应该限制在 -1 到 +1。虽然大多数值都在这个范围内,但一些像素被分配了 -Inf 或 Inf,并且一些像素被分配了大于 1 的实数。我已经搜索过但没有发现任何关于这个问题的信息,想知道是否有人知道会导致什么这以及如何解释它。下面是一个使用 R 的火山数据集的可重现的小例子:
library(raster)
library(glcm)
rast<- raster(volcano)
textures<- glcm(rast)
hist(textures$glcm_correlation) #Most values in valid range (-1 to +1)
cellStats(textures$glcm_correlation, max) #Maximum Value is Inf
#[1] Inf
cellStats(textures$glcm_correlation, min) #Minimum Value is -Inf
#[1] -Inf
head(sort(unique(textures$glcm_correlation@data@values), decreasing = TRUE)) #There are real number values >1
#[1] Inf 5.839971 1.000000 1.000000 1.000000 1.000000
head(sort(unique(textures$glcm_correlation@data@values), decreasing = FALSE)) #-Inf is <0 but there are no real number values <0
#[1] -Inf -0.5735393 -0.5000000 -0.5000000 -0.4588315 -0.4335550