2

我正在使用 R 中的 glcm 包从 Landsat 波段上的灰度共现矩阵 (GLCM) 运行图像纹理测量,我想知道 mean' 和 'mean_ENVI' / 'variance' 和 ' 之间有什么区别方差_ENVI'。

这似乎是一个基本问题,但我找不到很好的解释。

library(glcm)

Feb2014_B2 <-raster ("Feb2014_band2x.tif")

Feb2014.B2.textures3x3 <- glcm(Feb2014_B2, window = c(3, 3), shift = c(1, 1),   
statistics = c("mean", "mean_ENVI", "variance", "variance_ENVI",  
"homogeneity", "contrast", "dissimilarity", "entropy", "second_moment", 
"correlation"), na_opt="any", na_val=NA) 
4

1 回答 1

7

我是 R glcm 包的作者。mean 和 mean_ENVI 之间以及 variance 和 variance_ENVI 之间的差异与平均值的计算方式有关。glcm 包中的均值和方差在 Haralick 的原始出版物中实现。ENVI 中的均值和方差的实现方式不同。ENVI 将平均值计算为给定窗口大小内像素值的简单平均值——因此 ENVI 平均值根本不是纹理测量,而只是原始图像的平滑版本。我在我的包中实现了它,以便可以在 R 中重现 ENVI 结果。

我使用的公式与 Haralick 中的一样。现在查看它们的唯一方法是在 C++ 代码中 ( https://github.com/azvoleff/glcm/blob/master/src/calc_texture.cpp )。我最终会将这些放入 R 文档中,但还没有时间将它们放入文档中。

于 2016-04-24T01:35:23.350 回答