Как эффективно назначить массив 3d numpy с использованием 2d координат - PullRequest
1 голос
/ 13 июля 2020

У меня есть массив 3d numpy, представляющий изображение RGB в форме (512, 512, 3). У меня также есть список координат, представляющих пиксели в определенном порядке, которые я затем поворачиваю на определенное количество мест. Массив coords имеет вид stati c и генерируется один раз на протяжении всей программы. Я хочу создать новый массив numpy с соответствующим преобразованием в списке пикселей.

Текущий код, который я сейчас использую, выглядит следующим образом:

import numpy as np

coords: [(int, int)] = [(0, 0), (0, 1), (1, 1), (3,3)] # for example

def rotate_coords(im1: np.array, n: int) -> np.array:
    im2 = np.copy(im1)
    for destination_coord, source_coord in zip(coords[-n:] + coords[:-n], coords):
        im2[destination_coord] = im1[source_coord ]
    return im2

Есть ли способ ускорить его, возможно, назначив сразу все координаты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...