You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Numpy和Matplotlib叠加SEM显微镜图像?

SEM图像与元素分布图像的叠加实现方案

以下是基于Numpy和Matplotlib的具体实现步骤,针对你已读取的图像数组进行处理:

1. 预处理:统一图像尺寸与归一化

首先确保三张图像尺寸一致(元素图可能与SEM图尺寸不同),并将元素灰度图归一化到0-1区间,方便后续叠加控制:

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

# 你已完成的图像读取步骤
image_SEM = np.asarray(Image.open('Project_SEI.JPG'))
image_Al = np.asarray(Image.open('Project_Al K.JPG'))
image_Si = np.asarray(Image.open('Project_Si K.JPG'))

# 统一图像尺寸(以SEM图为基准)
target_height, target_width = image_SEM.shape[:2]
# PIL的resize参数为(width, height),所以反转尺寸顺序
image_Al_resized = np.asarray(Image.fromarray(image_Al).resize((target_width, target_height)))
image_Si_resized = np.asarray(Image.fromarray(image_Si).resize((target_width, target_height)))

# 归一化元素图到0-1区间,消除不同图像的亮度差异
image_Al_norm = (image_Al_resized - image_Al_resized.min()) / (image_Al_resized.max() - image_Al_resized.min())
image_Si_norm = (image_Si_resized - image_Si_resized.min()) / (image_Si_resized.max() - image_Si_resized.min())

2. 两种叠加实现方式

方式一:彩色通道混合叠加

将Al元素映射为红色通道、Si元素映射为绿色通道,与SEM图按比例混合,直观区分元素分布:

# 创建与SEM图同尺寸的彩色叠加层
overlay = np.zeros_like(image_SEM, dtype=np.float32)
overlay[..., 0] = image_Al_norm  # 红色对应Al元素分布
overlay[..., 1] = image_Si_norm  # 绿色对应Si元素分布

# 将SEM图转换为浮点型并归一化到0-1
sem_normalized = image_SEM.astype(np.float32) / 255.0

# 调整叠加透明度(alpha值0-1,0为仅显示SEM,1为仅显示元素层)
alpha = 0.5
mixed_image = (1 - alpha) * sem_normalized + alpha * overlay

# 确保像素值在合法范围内
mixed_image = np.clip(mixed_image, 0, 1)

# 显示结果
plt.figure(figsize=(10, 8))
plt.imshow(mixed_image)
plt.title('SEM + Al(Red) + Si(Green) Overlay')
plt.axis('off')
plt.show()

方式二:多图层直接叠加

利用Matplotlib的图层叠加特性,直接在SEM图上叠加不同配色的元素灰度图:

plt.figure(figsize=(10, 8))
# 底图显示SEM图像
plt.imshow(image_SEM)
# 叠加Al元素图,使用红色配色,设置透明度
plt.imshow(image_Al_resized, cmap='Reds', alpha=0.5)
# 叠加Si元素图,使用绿色配色,设置透明度
plt.imshow(image_Si_resized, cmap='Greens', alpha=0.5)
plt.title('SEM Image with Element Distribution Overlay')
plt.axis('off')
plt.show()

注意事项

  • 如果元素图的背景为高亮度(而非低亮度),可以通过1 - image_Al_norm反转归一化后的数值,让元素富集区域显示为对应颜色
  • alpha值可根据实际图像的对比度调整,以平衡SEM细节和元素分布的可见性

内容的提问来源于stack exchange,提问作者Giovanni Pignatelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:40:20