@Andrei1penguin1

Какую функцию numpy выбрать?

Доброго времени суток, есть задача для каждого элемента массива подсчитать градиент по x и y:
Пример:
Есть матрица
[10, 20, 30],
[15, 25, 35],
[20, 40, 60]

Соответственно для числа 25 (по центру) градиент по x будет равняться |35-15| = 20, а по y |20-40|=20
Можно реализовать свои руками в несколько строк, но может есть какие-то функции в numpy, позволяющие сделать это быстрее?
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
@Andy_U
Ну, тогда как-нибудь так:

import numpy


if __name__ == '__main__':

    a = numpy.array([[10, 20, 30],
                     [15, 25, 35],
                     [20, 40, 60]])

    xdiff = numpy.zeros_like(a)
    xdiff[:, 1:-1] = a[:, 2:]-a[:, :-2]
    print(xdiff)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы