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)




