Я хотел бы изменить подмножество массива, который выбирается двумя последовательными логическими массивами.В моем случае у меня есть изображение im
, и я вытаскиваю интересующую область roi
, используя какое-то условие.С пикселями в области интереса я делаю некоторые вычисления и получаю субрегион target
.Теперь я хочу применить преобразование к пикселям в target
в исходном изображении.В коде:
x, y = np.meshgrid(np.arange(800), np.arange(600))
im = (x + y) / 6 # a test image to work with
# use some arbitrary conditions to illustrate this
roi = (im > 64) & (im < 128)
target = (im[roi] & 0xf) > 0x7
Теперь я хочу сделать что-то вроде
im[roi][target] = 0
, но это происходит молча, потому что im[roi]
напрямую не ссылается на элементы исходного массива (в отличие от обычного среза).
Какой хороший чистый способ сделать то, что я хочу здесь?