首页 > 解决方案 > numpy 中的图像混合返回纯白色图像

问题描述

我正在尝试使用 numpy 而不是图像库来混合 2 个不同的图像。由于 numpy 与数组一起使用,我使用下面的公式来混合图像:

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

出于某种原因,我不断得到一个纯白色的图像。两个图像都正常显示,当我在它们上使用 io.imshow() 时,应用公式时会出现问题。

这是我使用 alpha 值的输出:

阿尔法 = 0.9995:

阿尔法 = 0.9995

阿尔法 = 1:

在此处输入图像描述

阿尔法 = 0:

阿尔法 = 0

标签: pythonpython-3.xnumpyimage-processing

解决方案


在输入问题时,我发现出了什么问题,所以我将回答我自己的问题,以防有人从中受益。

添加 2 个 numpy 数组是将我的数组值从 uint8 值转换为 float64 值。我找到的解决方案是将类型改回 uint8。

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

最大的收获是旁边的彩条。最终图像如下所示:

混合图像


推荐阅读