我正在使用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)
答案 0 :(得分:3)
我是R glcm软件包的作者。 mean和mean_ENVI之间以及方差和variance_ENVI之间的差异与平均值的计算方式有关。 glcm包中的均值和方差按原始Fixing npm permissions实现。 ENVI的均值和方差以不同的方式实现。 ENVI计算平均值作为给定窗口大小内像素值的简单平均值 - 因此ENVI均值根本不是纹理度量,而只是原始图像的平滑版本。我在我的包中实现了它,以便能够在R中重现ENVI结果。
我使用的公式与Haralick一样。现在,查看它们的唯一方法是使用C ++代码(How do you uninstall rbenv on OSX?)。我最终会将这些内容输入到R文档中,但还没有时间将它们放入文档中。