Sök…


Introduktion

Se även I / O för Raster Images

Beräkning av GLCM-struktur

Grey Level Co-Occurrence Matrix (Haralick et al. 1973) konsistens är en kraftfull bildfunktion för bildanalys. glcm paketet ger en lättanvänd funktion för att beräkna sådana texutrala funktioner för RasterLayer objekt i R.

library(glcm)
library(raster)

r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)

ange bildbeskrivning här

Beräkna GLCM-strukturer i en riktning

rglcm <- glcm(r, 
              window = c(9,9), 
              shift = c(1,1), 
              statistics = c("mean", "variance", "homogeneity", "contrast", 
                             "dissimilarity", "entropy", "second_moment")
              )

plot(rglcm)

ange bildbeskrivning här

Beräkning rotations-invariant textur funktioner

Strukturfunktionerna kan också beräknas i alla fyra riktningar (0 °, 45 °, 90 ° och 135 °) och sedan kombineras till en rotationsinvariant struktur. Nyckeln till detta är shift parameter:

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)

ange bildbeskrivning här

Matematiska morfologier

Paketet mmand tillhandahåller funktioner för beräkning av matematiska morfologier för n-dimensionella matriser. Med lite lösning kan dessa också beräknas för rasterbilder.

library(raster)
library(mmand)

r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)

Först måste en kärna (rörligt fönster) ställas in med en storlek (t.ex. 9x9) och en formtyp (t.ex. disc , box eller diamond )

sk <- shapeKernel(c(9,9), type="disc")

Därefter måste rasterlagret konverteras till en matris som används som ingång för erode() .

rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))

Förutom erode() kan även de morfologiska funktionerna dilate() , opening() och closing() tillämpas på detta sätt.

plot(rErode)

Eroded R-logotyp



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow