Ricerca…


introduzione

Vedi anche I / O per immagini raster

Calcolo della struttura GLCM

Matrice di Co-occorrenze di livello grigio (Haralick et al., 1973) è una potente funzione di immagine per l'analisi delle immagini. Il pacchetto glcm fornisce una funzione facile da usare per calcolare tali caratteristiche di RasterLayer per RasterLayer oggetti RasterLayer in R.

library(glcm)
library(raster)

r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)

inserisci la descrizione dell'immagine qui

Calcolo delle texture GLCM in una direzione

rglcm <- glcm(r, 
              window = c(9,9), 
              shift = c(1,1), 
              statistics = c("mean", "variance", "homogeneity", "contrast", 
                             "dissimilarity", "entropy", "second_moment")
              )

plot(rglcm)

inserisci la descrizione dell'immagine qui

Calcolo delle caratteristiche di trama invarianti di rotazione

Le caratteristiche strutturali possono anche essere calcolate in tutte e 4 le direzioni (0 °, 45 °, 90 ° e 135 °) e quindi combinate con una trama invariante alla rotazione. La chiave per questo è il parametro 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)

inserisci la descrizione dell'immagine qui

Morfologie matematiche

Il pacchetto mmand fornisce funzioni per il calcolo delle morfologie matematiche per matrici n-dimensionali. Con un po 'di soluzione, questi possono anche essere calcolati per le immagini raster.

library(raster)
library(mmand)

r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)

All'inizio, un kernel (finestra mobile) deve essere impostato con una dimensione (ad es. 9x9) e un tipo di forma (ad es. disc , box o diamond )

sk <- shapeKernel(c(9,9), type="disc")

Successivamente, lo strato raster deve essere convertito in una matrice che viene utilizzata come input per la funzione erode() .

rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))

Oltre a erode() , anche le funzioni morfologiche dilate() , opening() e closing() possono essere applicate in questo modo.

plot(rErode)

Logo R eroso



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow