Скорректированная матрица, распознавание лиц - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть огромная матрица (77760x165), где каждый столбец представляет изображение, и у меня есть другая матрица с именем avg_face (77760x1), которая является средним значением всех граней. Теперь мне нужно вычесть из каждого столбца avg_face, чтобы я получил разницу между каждым лицом и avg_face в каждом столбце. Это мой код прямо сейчас, но я работаю над jupyter, и это занимает слишком много времени и "ядро убито". Есть лучший способ сделать это? Вот мой код:

adjusted_matrix = []
print("Database matrix:\n",database_matrix,"\n", "Shape:\n",database_matrix.shape,"\n")
print("Average face:\n", avg_face,"\n", "Shape:\n",avg_face.shape,"\n")
i = 0
for row in database_matrix:
    row = np.subtract(row,np.array(avg_face[i]))
    i += 1
    adjusted_matrix.append(np.array(row))

print("Adjusted matrix")
print(adjusted_matrix)

Текущий вывод: enter image description here

Как видите, откорректированная матрица не напечатана

1 Ответ

0 голосов
/ 17 апреля 2020

В конце концов, все, что мне нужно было сделать, это:

adjusted_matrix = np.array(database_matrix - avg_face[:,np.newaxis])
...