Матрица N x N x 3, получить первый элемент внутреннего 3 массива - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть пустая матрица, которая представляет изображение, и я хочу эффективно получить массив первого элемента каждого цвета.Матрица имеет размер N x M x 3 и x 3, потому что они являются цветами.То, что я хочу, это суммировать все, например, красные.Пример следующий:

a = np.random.randint(1,10,(2,4,3))
 a
array([[[1, 8, 8],[9, 9, 9],[4, 7, 7],[7, 1, 5]],[[3, 2, 2],[8, 5, 4],[3, 3, 5],[2, 2, 7]]])
sum_r = 0
for i in a:
    for j in i:
         sum_r += j[0]
print(sum_r)
37
1 + 9 + 4 + 7 + 3 + 8 + 3 + 2
37

1 Ответ

1 голос
/ 28 апреля 2019
def sumColumn(m):
    return [sum(col) for col in zip(*m)]


column = 0
matrix = [[1 , 4, 5, 12], 
          [-5, 8, 9, 0],
          [-6, 7, 11, 19]]

print("Sum of the elements in column", sumColumn(matrix)[column])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...