R Language
Растровый и графический анализ
Поиск…
Вступление
См. Также I / O для растровых изображений
Вычисление текстуры GLCM
Матрица совпадения уровня серого (Haralick et al., 1973) - мощная функция изображения для анализа изображений. Пакет glcm
предоставляет простую в использовании функцию для вычисления таких техатровых функций для объектов RasterLayer
в R.
library(glcm)
library(raster)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Вычисление текстур GLCM в одном направлении
rglcm <- glcm(r,
window = c(9,9),
shift = c(1,1),
statistics = c("mean", "variance", "homogeneity", "contrast",
"dissimilarity", "entropy", "second_moment")
)
plot(rglcm)
Вычисление вращательно-инвариантных характеристик текстуры
Текстурные особенности также могут быть рассчитаны во всех четырех направлениях (0 °, 45 °, 90 ° и 135 °), а затем объединены с одной вращательно-инвариантной текстурой. Ключом для этого является параметр shift
:
rglcm1 <- glcm(r,
window = c(9,9),
shift=list(c(0,1), c(1,1), c(1,0), c(1,-1)),
statistics = c("mean", "variance", "homogeneity", "contrast",
"dissimilarity", "entropy", "second_moment")
)
plot(rglcm1)
Математические морфологии
Пакет mmand
предоставляет функции для вычисления математических морфологий для n-мерных массивов. При небольшом обходном пути они также могут быть рассчитаны для растровых изображений.
library(raster)
library(mmand)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Сначала ядро (движущееся окно) должно быть задано с размером (например, 9x9) и типом формы (например, disc
, box
или diamond
)
sk <- shapeKernel(c(9,9), type="disc")
После этого растровый слой должен быть преобразован в массив, который используется как вход для функции erode()
.
rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))
Помимо erode()
, также могут применяться морфологические функции dilate()
, opening()
и closing()
.
plot(rErode)