вычислять пиксель за пикселем среднее растров, используя numpy

Поскольку два растра (растер1 и растер2) перекрываются друг с другом, я хочу создать новый растровый счет, вычислив среднее значение каждого перекрываемого пиксела; т. е. Полученный новый растр рассчитывается как:

new = [[mean(1,3), mean(1,3), mean(1,3), mean(1,3), mean(1,3)],[mean(2,4),mean(2,4),mean(2,4),mean(2,4),mean(2,4)]] import numpy as np raster1 = np.array([[1,1,1,1,1],[2,2,2,2,2]]) raster2 = np.array([[3,3,3,3,3],[4,4,4,4,4]]) new = np.mean(raster1,raster2,axis=1) print (new.tolist()) 

Что не так?

2 Solutions collect form web for “вычислять пиксель за пикселем среднее растров, используя numpy”

Может быть, я неправильно понял тебя, но ты хочешь?

 raster = (raster1 + raster2) / 2 

На самом деле в этом случае вам даже не нужно np.mean , просто используйте операции с матрицами.

np.mean используется для вычисления среднего значения для одной матрицы на определенной оси, так что это другая ситуация.

Должен быть

 new = np.mean([raster1,raster2],axis=1) 

с кронштейнами. На самом деле я предполагаю, что это должно быть. Это должно быть

 new = np.mean([raster1,raster2],axis=0) 

Первым аргументом np.mean должен быть весь массив, см., Например, http://wiki.scipy.org/Numpy_Example_List_With_Doc#mean

  • Невозможно импортировать scipy's io
  • Геометрическая медиана многомерных точек
  • Определение логнормального распределения с использованием Scipy vs Matlab
  • Передача дополнительных аргументов с помощью scipy.optimize.curve_fit?
  • как использовать scipy.integrate, чтобы получить объем усеченной сферы?
  • Использование python scipy для соответствия гамма-распределению данных
  • Python - эффективная функция с scipy разреженными матрицами
  • Как фильтровать / сглаживать SciPy / Numpy?
  • Python - лучший язык программирования в мире.