У меня есть массив отображения, который принимает значение в качестве индекса и сопоставляет его с предварительно вычисленным значением
Например: mapping [255] = 7
Задача, которую я хочу выполнить выполните следующие действия:
width, height = ni.shape
for x in range(width):
for y in range(height):
NI_mapped[x][y] = mapping[ni[x][y]]
RD_mapped[x][y] = mapping[rd[x][y]]
Чтобы получить контекст, ni и rd - это изображения, загруженные в виде ndarrays с целочисленными значениями.
Я хочу ускорить эту операцию с помощью numpy ufuncs или другого метод, позволяющий избежать двух циклов for.
Я понимаю, что если бы я использовал функцию отображения, я мог бы просто сделать NI_mapped = ni.vectorize(myfunc)
, однако в этом случае myfunc
, из которого сопоставление Вывод дорогой, так что это не практично.