Поиск…


Вступление

См. Также 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)

Логотип Eroded R



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow