У меня есть логическая маска с формой (100, 80) .
Я хочу, чтобы каждый пиксель, для которого маска имеет значение True, имел значение pix_val = np.array([0.1, 0.2, 0.3]).
p>
Код: Выделить всё
cols = 100
rows = 80
img = np.random.rand(rows, cols, 3)
mask = np.random.randint(2, size=(rows, cols), dtype=np.bool_)
px = np.array([0.1, 0.2, 0.3])
for ch in range(3):
img[:, :, ch][mask] = px[ch]
Код: Выделить всё
img[mask[:, :, None]] = px
Я ищу векторизованный (эффективный) способ реализовать это.
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-indexing