Установка значения RGB для массива numpy с использованием логической индексацииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Установка значения RGB для массива numpy с использованием логической индексации

Сообщение Anonymous »

У меня есть массив с формой (100, 80, 3), который представляет собой изображение RGB.

У меня есть логическая маска с формой (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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»