require(RandomFields)
require(rgdal)
Se trabajará con una imagen de tamaño 400x712 en escala de grises de 8bit para calcular el variograma empírico y ajustar una función Matérn. La imagen a color es un Muro de la Universidad Nacional:
# Cargar imagen 8bit
img <- readGDAL("Muro.png")
## Muro.png has GDAL driver PNG
## and has 400 rows and 712 columns
## Warning in readGDAL("Muro.png"): GeoTransform values not available
summary(img)
## Object of class SpatialGridDataFrame
## Coordinates:
## min max
## x 0 712
## y 0 400
## Is projected: NA
## proj4string : [NA]
## Grid attributes:
## cellcentre.offset cellsize cells.dim
## x 0.5 1 712
## y 0.5 1 400
## Data attributes:
## band1
## Min. : 0.0
## 1st Qu.: 97.0
## Median :113.0
## Mean :110.8
## 3rd Qu.:128.0
## Max. :183.0
# Graficar imagen en escala de grises
image(img, col = gray(seq(0,1, length = 256)))
# Cálculo del variograma
variog <- RFempiricalvariogram(data = sp2RF(img), bin = seq(0, 15))
plot(variog)
# Histograma del Campo Aleatorio
hist(img$band1, freq = FALSE, col = "lightblue", nclass = 100,
main = "Histograma del campo aleatorio del Muro",
ylab = "Densidad",
xlab = "Valor de intensidad digital (Nivel de gris)")
lines(density(img$band1), col = "red", lwd = 3)
La media y la varianza de los niveles de grises son:
| Media | Varianza | |
|---|---|---|
| GreyScale | 110.8 | 620.5 |
# Ajuste modelo Matérn con nu=1/2, var y media de los niveles de grises
MaternFit<-RMmatern(nu=1/2,var=620.5,scale = 5/3) + RMtrend(mean=110.8)
# Gráfico conjunto variograma y ajuste Matérn
plot(variog,model=MaternFit)
El modelo Matérn ajusta con un \(\kappa = 1/2\), es decir una función de correlación exponencial, este ajuste indica que el proceso no tiene tendencia en media y en varianza.
Contrario al caso anterior, esta vez se trabajará con una imagen de tamaño 400x712 en escala de grises de 8bit para calcular el variograma empírico y ajustar una función Matérn. La imagen a color es una Cobija a una escala de 20cm:
# Cargar imagen 8bit
img1 <- readGDAL("Cobija.png")
## Cobija.png has GDAL driver PNG
## and has 400 rows and 712 columns
## Warning in readGDAL("Cobija.png"): GeoTransform values not available
summary(img1)
## Object of class SpatialGridDataFrame
## Coordinates:
## min max
## x 0 712
## y 0 400
## Is projected: NA
## proj4string : [NA]
## Grid attributes:
## cellcentre.offset cellsize cells.dim
## x 0.5 1 712
## y 0.5 1 400
## Data attributes:
## band1
## Min. : 0.00
## 1st Qu.: 56.00
## Median : 74.00
## Mean : 74.31
## 3rd Qu.: 91.00
## Max. :189.00
# Graficar imagen en escala de grises
image(img1, col = gray(seq(0,1, length = 256)))
# Cálculo del variograma
variog1 <- RFempiricalvariogram(data = sp2RF(img1), bin = seq(0,25,1.25))
plot(variog1)
# Histograma del Campo Aleatorio
hist(img1$band1, freq = FALSE, col = "darkseagreen3", nclass = 100,
main = "Histograma del campo aleatorio del Musgo",
ylab = "Densidad",
xlab = "Valor de intensidad digital (Nivel de gris)")
lines(density(img1$band1), col = "darkblue", lwd = 3)
La media y la varianza de los niveles de grises son:
| Media | Varianza | |
|---|---|---|
| GreyScale | 74.31 | 679.7 |
# Ajuste modelo Matérn con nu=1/3, var y media de los niveles de grises
MaternFit<-RMmatern(nu=1/3,var=679.7,scale = 10/3) + RMtrend(mean=74.31)
# Gráfico conjunto variograma y ajuste Matérn
plot(variog1,model=MaternFit,ylim=c(0,680))
El modelo Matérn ajusta con un \(\kappa = 1/3\), sin embargo, el ajuste no se adecúa a la varianza del modelo, esto puede darse a que existe una tendencia en la media o en la varianza.