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

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,以便查看背景图像。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报