R Language
Raster- und Bildanalyse
Suche…
Einführung
Siehe auch E / A für Rasterbilder
Berechnung der GLCM-Textur
Die Textur der Graupegel- Co-Vorkommen-Matrix (Haralick et al. 1973) ist eine leistungsstarke Bildfunktion für die Bildanalyse. Das glcm
Paket bietet eine einfach zu verwendende Funktion zum Berechnen solcher Textfunktionen für RasterLayer
Objekte in R.
library(glcm)
library(raster)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Berechnung von GLCM-Texturen in eine Richtung
rglcm <- glcm(r,
window = c(9,9),
shift = c(1,1),
statistics = c("mean", "variance", "homogeneity", "contrast",
"dissimilarity", "entropy", "second_moment")
)
plot(rglcm)
Berechnung rotationsinvariante Texturmerkmale
Die Strukturmerkmale können auch in allen 4 Richtungen (0 °, 45 °, 90 ° und 135 °) berechnet und dann zu einer rotationsinvarianten Textur kombiniert werden. Der Schlüssel dazu ist der 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)
Mathematische Morphologien
Das Paket mmand
bietet Funktionen zur Berechnung mathematischer Morphologien für n-dimensionale Arrays. Mit einer kleinen Problemumgehung können diese auch für Rasterbilder berechnet werden.
library(raster)
library(mmand)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Zunächst muss ein Kern (Moving Window) mit einer Größe (zB 9x9) und einem Formtyp (zB disc
, box
oder diamond
) eingestellt werden
sk <- shapeKernel(c(9,9), type="disc")
Danach muss die Rasterebene in ein Array umgewandelt werden, das als Eingabe für die Funktion erode()
verwendet wird.
rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))
Neben erode()
können auch die morphologischen Funktionen dilate()
, opening()
und closing()
angewendet werden.
plot(rErode)