R Language
Raster y análisis de imagen
Buscar..
Introducción
Ver también E / S para imágenes rasterizadas.
Cálculo de la textura GLCM
La textura de la matriz de coexistencia de nivel de grises (Haralick et al. 1973) es una potente función de imagen para el análisis de imágenes. El paquete glcm
proporciona una función fácil de usar para calcular dichas características de RasterLayer
para objetos RasterLayer
en R.
library(glcm)
library(raster)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Cálculo de texturas GLCM en una dirección
rglcm <- glcm(r,
window = c(9,9),
shift = c(1,1),
statistics = c("mean", "variance", "homogeneity", "contrast",
"dissimilarity", "entropy", "second_moment")
)
plot(rglcm)
Cálculo de la rotación invariante características de la textura
Las características texturales también pueden calcularse en las 4 direcciones (0 °, 45 °, 90 ° y 135 °) y luego combinarse en una textura invariante de rotación. La clave para esto es el parámetro de 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)
Morfologias matematicas
El paquete mmand
proporciona funciones para el cálculo de morfologías matemáticas para matrices n-dimensionales. Con una pequeña solución, también se pueden calcular para imágenes rasterizadas.
library(raster)
library(mmand)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
Al principio, un kernel (ventana móvil) debe configurarse con un tamaño (por ejemplo, 9x9) y un tipo de forma (por ejemplo, disc
, box
o diamond
)
sk <- shapeKernel(c(9,9), type="disc")
Posteriormente, la capa ráster se debe convertir en una matriz que se utiliza como entrada para la función de erode()
.
rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))
Además de erode()
, también las funciones morfológicas dilate()
, opening()
y closing()
se pueden aplicar de esta manera.
plot(rErode)