У меня есть изображения для одной и той же сцены, но под другим углом. Я хотел удалить изменяющиеся / движущиеся объекты из изображений и создавать панорамы. Таким образом, решение состоит в том, чтобы взять среднее / медиану всех изображений. Но как это сделать в коде, так как я новый numpy / python, так что нужна помощь здесь.
Пробный код:
Ниже код не получил хороший картинка и ее неполная панорама:
import numpy as np
# Convert images to 4d ndarray, size(n, nrows, ncols, 3)
imgs = np.asarray(imgs)
# Take the median over the first dim
med = np.median(imgs, axis=0)
Даже я пробовал код ниже, но он работает в течение нескольких часов.
imgs = np.asarray(frames)
med_img= np.zeros(shape=(imgs.shape[1],imgs.shape[2],imgs.shape[3]))
arr=[]
count=imgs.shape[0]
for i in range(0,imgs.shape[1]):
for j in range(0, imgs.shape[2]):
for k in range(0, imgs.shape[3]):
for x in range(0, count):
arr.append(imgs[x][i][j][k])
med_img[i][j][k]=np.median(arr)
Есть ли лучший способ сделать что?