R Language
Raster och bildanalys
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)
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)
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)
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)