6 votos

La similitud entre los dos mapas raster

Tener dos mapas raster como los ejemplos a continuación:

enter image description here

Estamos interesados en la evaluación de sus similitudes. Como se muestra, no se entrecruzan. Supongo que es una forma de clip pequeña área de la más grande, por lo tanto habrá dos del mismo tamaño de los mapas raster, por ejemplo, las matrices. Así que podemos usar pixel-sabio de correlación para averiguar cuán parecidas son.

Los problemas/dificultades son:
1) La resolución de los dos mapas raster no son los mismos. Así que incluso para la idea que hay un problema de punto de sabio proceder.

Nos preguntamos a saber:

1) una mejor manera de encontrar sus similitudes como el ojo humano (+cerebro), es decir, no hay absolutamente una alta similitud en la tendencia de la espacial la variación en los dos mapas.
2) si el pixel-sabio correlación es aceptable para nuestro propósito?

EDITAR
Pensar de esta manera: una imagen como una matriz de tamaño mxn y la imagen de los dos como una matriz de tamaño pxq. Un cuadro delimitador de la matriz en una es {x1,y1,x2,y2} lo que significa que, independientemente de la imagen de una resolución de su doble matriz (uno) debe encajar en el cuadro delimitador perfectamente. El mismo escenario para la imagen de la dos y así matriz de dos. Tenga en cuenta que las cajas delimitadoras son también diferentes. Así, esta primera etapa es para estirar las matrices para que se ajuste a su doble en las cajas de contorno. Cómo hacer este trabajo, aunque no el uso de cualquier software de manipulación de imágenes? Preferimos hacerlo con Python + Numpy (Scipy). La segunda etapa es volver a muestrear cada estirada de la matriz a una única dimensión. Esto hace que sea posible hacer el elemento sabio operaciones en ambas matrices. Cómo hacer esto? Estamos interesados principalmente en los algoritmos. Usted puede notar que desde el final de la comparación ha de ser elemento de sabios, por lo tanto, las etapas anteriores debe ser elegido adecuadamente para evitar cualquier distorsión (cambio en los datos). Estamos buscando algunos algoritmos para manejar todo lo anterior a consecuencia de algo que visualmente podemos ver en términos de relaciones en las dos imágenes (matrices).

5voto

dpn982 Puntos 41

Puede resolver esto mediante R. El código de abajo, produce un gráfico de dispersión con la regresión lineal y un valor de correlación de Pearson. Debido a que se está resolviendo en R se tiene acceso a una enorme gama de herramientas estadísticas.

install.packages(raster)
library(raster)

# read rasters
r1 = raster("/dir/dir/file1.tif")
r2 = raster("/dir/dir/file2.tif")
# Resample r2 to r1
r2.samp = round(resample(r2, r1, "bilinear"))

# plot results
# Points
plot(getValues(r2.samp) ~ getValues(r1))
# Linear regression
abline(lm(getValues(r2.samp) ~ getValues(r1)))
# (Pearson) Correlation
legend("topleft", legend=paste("Correlation =", round(cor(getValues(r1),
getValues(r2.samp), use="complete.obs"), 2)))

0voto

Antonio Locandro Puntos 213

Yo sugeriría que el recorte de la misma ZONA y usar ImageMagick que es opensource utilizando tal vez una pelusa de la tolerancia.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X