У меня есть два полутоновых изображения с небольшим смещением (перекрытие ~ 80%), которое мне нужно усреднить в одно изображение. Изображения имеют отступы вокруг них, так что перекрытие уже учитывается внутри изображения (то есть начальная позиция x и y каждого изображения различна). Изображения выровнены по их текущему смещению, аналогично панорамному изображению.
Мой текущий подход (см. Ниже) состоит в том, чтобы использовать вложенные циклы for, сравнивать интенсивности пикселей в каждой позиции, суммировать их и делить на ненулевой счет.
combined_image=np.empty((image1.shape))
for row in range(image1.shape[0]):
for pixel in range(image2.shape[1]):
temp_array = np.array((image1[row][pixel], image2[row][pixel]))
combined_image[row][pixel] = np.sum(temp_array)/np.count_nonzero(temp_array)
Я считаю, что это работает, однако, это довольно медленно, так как эти изображения имеют размер 1000 x 1000 пикселей. Интересно, есть ли более эффективный подход