вычислять пиксель за пикселем среднее растров, используя 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

  • Заполнение пробелов в массиве numpy
  • Структура входных данных для функции минимизации scipy
  • Как я должен документировать атрибуты класса и объекта с помощью стиля Numpy?
  • Невозможно загрузить набор данных Iris с помощью sklearn
  • многомерные доверительные интервалы
  • Я знаю, scipy curve_fit может сделать лучше
  • Фиксирование (гауссово) со Scipy против ROOT и др.
  • Интерполяция Python / Scipy (map_coordinates)
  • Matplotlib не отображает цифры
  • специальная проблема импорта scipy.special
  • dfitpack.error: (m> k) не удалось скрыть m: fpcurf0: m = 1
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.