R Language
Analyse raster et image
Recherche…
Introduction
Voir aussi E / S pour les images raster
Calcul de la texture GLCM
La texture de la matrice de cooccurrence de niveaux de gris (Haralick et al. 1973) est une caractéristique d'image puissante pour l'analyse d'images. Le paquet glcm
fournit une fonction facile à utiliser pour calculer de telles caractéristiques RasterLayer
pour les objets RasterLayer
dans R.
library(glcm)
library(raster)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Calcul des textures GLCM dans une direction
rglcm <- glcm(r,
window = c(9,9),
shift = c(1,1),
statistics = c("mean", "variance", "homogeneity", "contrast",
"dissimilarity", "entropy", "second_moment")
)
plot(rglcm)
Fonctions de texture rotation-invariant de calcul
Les caractéristiques de texture peuvent également être calculées dans les 4 directions (0 °, 45 °, 90 ° et 135 °), puis combinées en une texture invariante par rotation. La clé pour cela est le paramètre shift
:
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)
Morphologies Mathématiques
Le paquet mmand
fournit des fonctions pour le calcul des morphologies mathématiques pour les tableaux à n dimensions. Avec une petite solution de contournement, ceux-ci peuvent également être calculés pour les images raster.
library(raster)
library(mmand)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Au départ, un noyau (fenêtre en mouvement) doit être défini avec une taille (par exemple 9x9) et un type de forme (par exemple, un disc
, une box
ou un diamond
).
sk <- shapeKernel(c(9,9), type="disc")
Ensuite, la couche raster doit être convertie en un tableau utilisé comme entrée pour la fonction erode()
.
rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))
Outre erode()
, les fonctions morphologiques dilate()
, opening()
et closing()
peuvent également être appliquées.
plot(rErode)