Как я могу заменить значение из одного массива значением в том же индексе другого массива? - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть два трехмерных массива, которые представляют два изображения.Форма каждого массива (1080, 1920, 3).Число 3 представляет значение RGB каждого пикселя в изображении.

Моя цель - заменить каждый не черный пиксель в первом массиве значением «параллельного» пикселя (в том же индексе) издругой массив.

Как я могу сделать это, используя только тупые методы?

1 Ответ

0 голосов
/ 07 февраля 2019

Использовать маску со значениями True / False

# All pixels should be normalized 0..1 or 0..254
first_img = np.random.rand(1920,1080,3)
second_img = np.random.rand(1920,1080,3)

eps = 0.01  # Black pixel threshold
mask = first_img.sum(axis=2) > eps

for i in range(first_img.shape[2]):
    first_img[:,:,i] = (first_img[:, :, i] * mask) + ((1 - mask) * second_img[:, :, i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...