在 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


收到一只叮咚
浏览 104回答 1
1回答

潇湘沐

在输入问题时,我发现了问题所在,所以我将回答我自己的问题,以防有人从中受益。添加 2 个 numpy 数组是将我的数组值从 uint8 值转换为 float64 值。我发现的解决方案是将类型更改回uint8。img_blend = (img_1* (1.0 - alpha) + img_2* alpha).astype('uint8')最大的赠送是侧面的颜色条。最终图像如下所示:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python