Смешивание изображения в numpy возвращает простое белое изображение - PullRequest
2 голосов
/ 17 февраля 2020

Я пытаюсь смешать 2 разных изображения, используя numpy, а не библиотеку изображений. Поскольку numpy работает с массивами, я использовал приведенную ниже формулу для наложения изображений:

    alpha = 0.8
    img_blend = img_1* (1.0 - alpha) + img_2* alpha
    io.imshow(img_blend)

По какой-то причине я продолжаю получать просто белое изображение. Оба изображения показывают нормально, когда я использую io.imshow () для них, проблема возникает при применении формулы.

Вот вывод, который я играю со значениями альфа:

alpha = 0,9995 :

alpha = 0.9995

alpha = 1:

enter image description here

alpha = 0 :

alpha = 0

1 Ответ

3 голосов
/ 17 февраля 2020

При наборе вопроса я выяснил, в чем дело, поэтому я собираюсь ответить на свой вопрос на случай, если кто-нибудь из них выиграет.

Добавление массивов 2 numpy преобразовывало значения моего массива из значений uint8 в значения float64. Решение, которое я нашел, заключается в изменении типа обратно на uint8.

img_blend = (img_1* (1.0 - alpha) + img_2* alpha).astype('uint8')

Большой отдачей была цветная полоса сбоку. Окончательное изображение показано ниже:

blended image

...