m0_55677094 2023-02-21 22:51 采纳率: 85.7%
浏览 23
已结题

Matplotlib二个图层叠加,如何暴露出下层图片?

主要目的:我现在有二张图片,一张是背景图(拍摄的是实验动物,黑白图),一张是发光图(实验动物身体某些部位会发光,会加伪彩)。我想把二张图叠加起来,这样就可以很清楚的看到实验动物身体哪些部位在发光。
实现手段:目前我可以通过设定阈值,把低于阈值的数组元素值设置为0,这个数值对应的颜色是黑色的,我想问的是能把这个颜色设置为透明色吗?这样就可以把下层这些位置的背景图暴露出来。或者有没有其他什么更好的办法?
谢谢!

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-21 23:13
    关注

    基于Monster 组和GPT的调写:
    用Matplotlib的alpha参数来将图像透明度设置为透明,这样就可以看到下面的图像。以下是一个示例代码,可以将第二个图像的透明度设置为0.5:

    import numpy as np
    import matplotlib.pyplot as plt
    
    # 创建两张图片
    bg_img = np.random.random((256, 256))
    glow_img = np.random.random((256, 256))
    
    # 将低于阈值的像素设置为0
    threshold = 0.5
    glow_img[glow_img < threshold] = 0
    
    # 创建一个figure并绘制背景图
    fig, ax = plt.subplots()
    ax.imshow(bg_img, cmap='gray')
    
    # 将发光图作为上层图像绘制,并设置透明度为0.5
    ax.imshow(glow_img, cmap='jet', alpha=0.5)
    
    # 显示图像
    plt.show()
    
    
    

    在上面的代码中,背景图像是灰度图像,发光图像是伪彩色图像。将发光图像的颜色映射设置为'jet',并将透明度设置为0.5,以便查看背景图像。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月14日
  • 已采纳回答 3月6日
  • 创建了问题 2月21日