R Language
Raster- en beeldanalyse
Zoeken…
Invoering
Zie ook I / O voor rasterafbeeldingen
GLCM-textuur berekenen
Gray Level Co-Occurrence Matrix (Haralick et al. 1973) textuur is een krachtige beeldfunctie voor beeldanalyse. Het glcm
pakket biedt een eenvoudig te gebruiken functie om dergelijke texutrale functies voor RasterLayer
objecten in R te berekenen.
library(glcm)
library(raster)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
GLCM-structuren in één richting berekenen
rglcm <- glcm(r,
window = c(9,9),
shift = c(1,1),
statistics = c("mean", "variance", "homogeneity", "contrast",
"dissimilarity", "entropy", "second_moment")
)
plot(rglcm)
Berekening rotatie-invariante textuurkenmerken
De textuurkenmerken kunnen ook in alle 4 richtingen (0 °, 45 °, 90 ° en 135 °) worden berekend en vervolgens worden gecombineerd tot één rotatie-invariante textuur. De sleutel hiervoor is de 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)
Wiskundige morfologieën
Het pakket mmand
biedt functies voor de berekening van wiskundige morfologieën voor n-dimensionale arrays. Met een kleine oplossing kunnen deze ook worden berekend voor rasterafbeeldingen.
library(raster)
library(mmand)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Eerst moet een kernel (bewegend venster) worden ingesteld met een grootte (bijvoorbeeld 9x9) en een vormtype (bijvoorbeeld disc
, box
of diamond
)
sk <- shapeKernel(c(9,9), type="disc")
Daarna moet de rasterlaag worden omgezet in een array die wordt gebruikt als invoer voor de functie erode()
.
rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))
Naast erode()
kunnen ook de morfologische functies dilate()
, opening()
en closing()
manier worden toegepast.
plot(rErode)