У меня есть 3-мерный массив [rows] [cols] [3] со значениями между 0 и X. Мне нужно манипулировать определенным размером в массиве. Так что я взял кусок части я хочу, чтобы манипулироватьiPython numpy - Как изменить значение массива с помощью карты
arr_slice = Array [:,:, 0]
теперь я могу сделать некоторые манипуляции, как arr_slice * = 3, и что изменится исходный массив , как я и предполагал.
Однако мне нужно изменить значения в соответствии с картой, которая представляет собой массив с размером X, который отображает значения среза (0-X) в новые значения. карта называется отображением
, так что я знаю, отображение [arr_slice] будет делать то, что я хочу, но использовать его как это: arr_slice = отображение [arr_slice] воли изменения курса только arr_slice, а не исходный массив у меня есть.
Итак, как я могу выполнить эту задачу, чтобы изменить исходный массив?
Массив на самом деле образ, что я пытаюсь манипулировать это значение Y в формате YIQ:
im_eq = np.copy(im_orig)
if (rgb):
im_eq = rgb2yiq(im_eq)
im = im_eq[:,:,0]
else:
im = im_eq
mapping = get_cumutative_histogram(im)
im = mapping[im.astype(int)] # the problematic line
Добавить образец случая? – Divakar