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)

Geben Sie hier die Bildbeschreibung ein

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)

Geben Sie hier die Bildbeschreibung ein

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)

Geben Sie hier die Bildbeschreibung ein

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)

Erodiertes R-Logo



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow